diff --git a/.env b/.env index e81842cf4..70cbf5ff2 100644 --- a/.env +++ b/.env @@ -1,3 +1,3 @@ # define env config -NAMESPACE=codewisdom -TAG=0.1.0 +IMG_REPO=codewisdom +IMG_TAG=0.2.0 diff --git a/build_upload_image.py b/build_upload_image.py new file mode 100644 index 000000000..7c3b816e9 --- /dev/null +++ b/build_upload_image.py @@ -0,0 +1,64 @@ +import os + +PREFIX = "codewisdom" +VERSION = "0.2.0" + +base_path = os.getcwd() +build_paths = [] + + +def main(): + if not mvn_build(): + print("mvn build failed") + init_docker_build_paths() + # docker_login() + docker_build_and_push() + + +def mvn_build(): + mvn_status = os.system("mvn clean package -DskipTests") + return mvn_status == 0 + + +def init_docker_build_paths(): + list_paths = os.listdir(os.getcwd()) + for p in list_paths: + if os.path.isdir(p): + if(p.startswith("ts-")): + build_path=base_path + "/" + p + build_paths.append(build_path) + + +def docker_login(): + username = os.getenv("DOCKER_USERNAME") + docker_hub_address = os.getenv("DOCKER_HUB_ADDRESS") or "registry.cn-hangzhou.aliyuncs.com" + print(f"[DOCKER HUB LOGIN] login username:{username} address:{docker_hub_address}") + print(f"[DOCKER HUB LOGIN] You should input your root password first and then dockerhub password") + docker_login = os.system(f"sudo docker login --username={username} {docker_hub_address}") + if not docker_login: + print("docker login failed") + + +def docker_build_and_push(): + for build_path in build_paths: + image_name = build_path.split("/")[-1] + + os.chdir(build_path) + files = os.listdir(build_path) + if "Dockerfile" in files: + docker_build = os.system(f"sudo docker build . -t {PREFIX}/{image_name}:{VERSION}") + if docker_build != 0: + print("[FAIL]" + image_name + " build failed.") + else: + print("[SUCCESS]" + image_name + " build success.") + + docker_push = os.system(f"sudo docker push {PREFIX}/{image_name}:{VERSION}") + if docker_push != 0: + print("[FAIL]" + image_name + " push failed.") + else: + print("[SUCCESS]" + image_name + " push success.") + + +if __name__ == '__main__': + main() + diff --git a/deployment/kubernetes-manifests/quickstart-k8s/quickstart-ts-deployment-part1.yml b/deployment/kubernetes-manifests/quickstart-k8s/quickstart-ts-deployment-part1.yml index 15593bcb4..bad38b05f 100644 --- a/deployment/kubernetes-manifests/quickstart-k8s/quickstart-ts-deployment-part1.yml +++ b/deployment/kubernetes-manifests/quickstart-k8s/quickstart-ts-deployment-part1.yml @@ -13,15 +13,15 @@ spec: app: ts-user-mongo spec: containers: - - name: ts-user-mongo - image: mongo - imagePullPolicy: IfNotPresent - ports: - - containerPort: 27017 - resources: - requests: - cpu: 50m - memory: 100Mi + - name: ts-user-mongo + image: mongo + imagePullPolicy: IfNotPresent + ports: + - containerPort: 27017 + resources: + requests: + cpu: 50m + memory: 100Mi --- apiVersion: apps/v1 @@ -39,15 +39,15 @@ spec: app: ts-auth-mongo spec: containers: - - name: ts-auth-mongo - image: mongo - imagePullPolicy: IfNotPresent - ports: - - containerPort: 27017 - resources: - requests: - cpu: 50m - memory: 100Mi + - name: ts-auth-mongo + image: mongo + imagePullPolicy: IfNotPresent + ports: + - containerPort: 27017 + resources: + requests: + cpu: 50m + memory: 100Mi --- apiVersion: apps/v1 @@ -65,15 +65,15 @@ spec: app: ts-route-mongo spec: containers: - - name: ts-route-mongo - image: mongo - imagePullPolicy: IfNotPresent - ports: - - containerPort: 27017 - resources: - requests: - cpu: 50m - memory: 100Mi + - name: ts-route-mongo + image: mongo + imagePullPolicy: IfNotPresent + ports: + - containerPort: 27017 + resources: + requests: + cpu: 50m + memory: 100Mi --- @@ -92,15 +92,15 @@ spec: app: ts-contacts-mongo spec: containers: - - name: ts-contacts-mongo - image: mongo - imagePullPolicy: IfNotPresent - ports: - - containerPort: 27017 - resources: - requests: - cpu: 50m - memory: 100Mi + - name: ts-contacts-mongo + image: mongo + imagePullPolicy: IfNotPresent + ports: + - containerPort: 27017 + resources: + requests: + cpu: 50m + memory: 100Mi --- @@ -119,15 +119,15 @@ spec: app: ts-order-mongo spec: containers: - - name: ts-order-mongo - image: mongo - imagePullPolicy: IfNotPresent - ports: - - containerPort: 27017 - resources: - requests: - cpu: 50m - memory: 100Mi + - name: ts-order-mongo + image: mongo + imagePullPolicy: IfNotPresent + ports: + - containerPort: 27017 + resources: + requests: + cpu: 50m + memory: 100Mi --- @@ -146,15 +146,15 @@ spec: app: ts-order-other-mongo spec: containers: - - name: ts-order-other-mongo - image: mongo - imagePullPolicy: IfNotPresent - ports: - - containerPort: 27017 - resources: - requests: - cpu: 50m - memory: 100Mi + - name: ts-order-other-mongo + image: mongo + imagePullPolicy: IfNotPresent + ports: + - containerPort: 27017 + resources: + requests: + cpu: 50m + memory: 100Mi --- @@ -173,15 +173,15 @@ spec: app: ts-config-mongo spec: containers: - - name: ts-config-mongo - image: mongo - imagePullPolicy: IfNotPresent - ports: - - containerPort: 27017 - resources: - requests: - cpu: 50m - memory: 100Mi + - name: ts-config-mongo + image: mongo + imagePullPolicy: IfNotPresent + ports: + - containerPort: 27017 + resources: + requests: + cpu: 50m + memory: 100Mi --- @@ -200,15 +200,15 @@ spec: app: ts-station-mongo spec: containers: - - name: ts-station-mongo - image: mongo - imagePullPolicy: IfNotPresent - ports: - - containerPort: 27017 - resources: - requests: - cpu: 50m - memory: 100Mi + - name: ts-station-mongo + image: mongo + imagePullPolicy: IfNotPresent + ports: + - containerPort: 27017 + resources: + requests: + cpu: 50m + memory: 100Mi --- @@ -227,15 +227,15 @@ spec: app: ts-train-mongo spec: containers: - - name: ts-train-mongo - image: mongo - imagePullPolicy: IfNotPresent - ports: - - containerPort: 27017 - resources: - requests: - cpu: 50m - memory: 100Mi + - name: ts-train-mongo + image: mongo + imagePullPolicy: IfNotPresent + ports: + - containerPort: 27017 + resources: + requests: + cpu: 50m + memory: 100Mi --- @@ -254,15 +254,15 @@ spec: app: ts-travel-mongo spec: containers: - - name: ts-travel-mongo - image: mongo - imagePullPolicy: IfNotPresent - ports: - - containerPort: 27017 - resources: - requests: - cpu: 50m - memory: 100Mi + - name: ts-travel-mongo + image: mongo + imagePullPolicy: IfNotPresent + ports: + - containerPort: 27017 + resources: + requests: + cpu: 50m + memory: 100Mi --- @@ -281,15 +281,15 @@ spec: app: ts-travel2-mongo spec: containers: - - name: ts-travel2-mongo - image: mongo - imagePullPolicy: IfNotPresent - ports: - - containerPort: 27017 - resources: - requests: - cpu: 50m - memory: 100Mi + - name: ts-travel2-mongo + image: mongo + imagePullPolicy: IfNotPresent + ports: + - containerPort: 27017 + resources: + requests: + cpu: 50m + memory: 100Mi --- @@ -308,15 +308,15 @@ spec: app: ts-price-mongo spec: containers: - - name: ts-price-mongo - image: mongo - imagePullPolicy: IfNotPresent - ports: - - containerPort: 27017 - resources: - requests: - cpu: 50m - memory: 100Mi + - name: ts-price-mongo + image: mongo + imagePullPolicy: IfNotPresent + ports: + - containerPort: 27017 + resources: + requests: + cpu: 50m + memory: 100Mi --- @@ -335,15 +335,15 @@ spec: app: ts-security-mongo spec: containers: - - name: ts-security-mongo - image: mongo - imagePullPolicy: IfNotPresent - ports: - - containerPort: 27017 - resources: - requests: - cpu: 50m - memory: 100Mi + - name: ts-security-mongo + image: mongo + imagePullPolicy: IfNotPresent + ports: + - containerPort: 27017 + resources: + requests: + cpu: 50m + memory: 100Mi --- @@ -362,15 +362,15 @@ spec: app: ts-inside-payment-mongo spec: containers: - - name: ts-inside-payment-mongo - image: mongo - imagePullPolicy: IfNotPresent - ports: - - containerPort: 27017 - resources: - requests: - cpu: 50m - memory: 100Mi + - name: ts-inside-payment-mongo + image: mongo + imagePullPolicy: IfNotPresent + ports: + - containerPort: 27017 + resources: + requests: + cpu: 50m + memory: 100Mi --- @@ -389,15 +389,15 @@ spec: app: ts-payment-mongo spec: containers: - - name: ts-payment-mongo - image: mongo - imagePullPolicy: IfNotPresent - ports: - - containerPort: 27017 - resources: - requests: - cpu: 50m - memory: 100Mi + - name: ts-payment-mongo + image: mongo + imagePullPolicy: IfNotPresent + ports: + - containerPort: 27017 + resources: + requests: + cpu: 50m + memory: 100Mi --- @@ -416,15 +416,15 @@ spec: app: ts-assurance-mongo spec: containers: - - name: ts-assurance-mongo - image: mongo - imagePullPolicy: IfNotPresent - ports: - - containerPort: 27017 - resources: - requests: - cpu: 50m - memory: 100Mi + - name: ts-assurance-mongo + image: mongo + imagePullPolicy: IfNotPresent + ports: + - containerPort: 27017 + resources: + requests: + cpu: 50m + memory: 100Mi --- @@ -443,15 +443,15 @@ spec: app: ts-ticket-office-mongo spec: containers: - - name: ts-ticket-office-mongo - image: mongo - imagePullPolicy: IfNotPresent - ports: - - containerPort: 27017 - resources: - requests: - cpu: 50m - memory: 100Mi + - name: ts-ticket-office-mongo + image: mongo + imagePullPolicy: IfNotPresent + ports: + - containerPort: 27017 + resources: + requests: + cpu: 50m + memory: 100Mi --- @@ -471,19 +471,19 @@ spec: app: ts-voucher-mysql spec: containers: - - name: ts-voucher-mysql - image: mysql:5.6.35 - imagePullPolicy: IfNotPresent - env: - # Use secret in real usage - - name: MYSQL_ROOT_PASSWORD - value: root - ports: - - containerPort: 3306 - resources: - requests: - cpu: 50m - memory: 100Mi + - name: ts-voucher-mysql + image: mysql:5.6.35 + imagePullPolicy: IfNotPresent + env: + # Use secret in real usage + - name: MYSQL_ROOT_PASSWORD + value: root + ports: + - containerPort: 3306 + resources: + requests: + cpu: 50m + memory: 100Mi --- @@ -502,15 +502,15 @@ spec: app: ts-food-map-mongo spec: containers: - - name: ts-food-map-mongo - image: mongo - imagePullPolicy: IfNotPresent - ports: - - containerPort: 27017 - resources: - requests: - cpu: 50m - memory: 100Mi + - name: ts-food-map-mongo + image: mongo + imagePullPolicy: IfNotPresent + ports: + - containerPort: 27017 + resources: + requests: + cpu: 50m + memory: 100Mi --- @@ -529,15 +529,15 @@ spec: app: ts-consign-mongo spec: containers: - - name: ts-consign-mongo - image: mongo - imagePullPolicy: IfNotPresent - ports: - - containerPort: 27017 - resources: - requests: - cpu: 50m - memory: 100Mi + - name: ts-consign-mongo + image: mongo + imagePullPolicy: IfNotPresent + ports: + - containerPort: 27017 + resources: + requests: + cpu: 50m + memory: 100Mi --- @@ -556,15 +556,15 @@ spec: app: ts-consign-price-mongo spec: containers: - - name: ts-consign-price-mongo - image: mongo - imagePullPolicy: IfNotPresent - ports: - - containerPort: 27017 - resources: - requests: - cpu: 50m - memory: 100Mi + - name: ts-consign-price-mongo + image: mongo + imagePullPolicy: IfNotPresent + ports: + - containerPort: 27017 + resources: + requests: + cpu: 50m + memory: 100Mi --- @@ -583,26 +583,136 @@ spec: app: ts-food-mongo spec: containers: - - name: ts-food-mongo - image: mongo - imagePullPolicy: IfNotPresent - ports: - - containerPort: 27017 - resources: - requests: - cpu: 50m - memory: 100Mi + - name: ts-food-mongo + image: mongo + imagePullPolicy: IfNotPresent + ports: + - containerPort: 27017 + resources: + requests: + cpu: 50m + memory: 100Mi +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: ts-notification-mongo +spec: + selector: + matchLabels: + app: ts-notification-mongo + replicas: 1 + template: + metadata: + labels: + app: ts-notification-mongo + spec: + containers: + - name: ts-notification-mongo + image: mongo + imagePullPolicy: IfNotPresent + ports: + - containerPort: 27017 + resources: + requests: + cpu: 50m + memory: 100Mi +--- +apiVersion: v1 +kind: Service +metadata: + name: ts-notification-mongo +spec: + ports: + - port: 27017 + selector: + app: ts-notification-mongo --- + +apiVersion: apps/v1 +kind: Deployment +metadata: + name: ts-delivery-mongo +spec: + selector: + matchLabels: + app: ts-delivery-mongo + replicas: 1 + template: + metadata: + labels: + app: ts-delivery-mongo + spec: + containers: + - name: ts-delivery-mongo + image: mongo + imagePullPolicy: IfNotPresent + ports: + - containerPort: 27017 + resources: + requests: + cpu: 50m + memory: 100Mi + +--- +apiVersion: v1 +kind: Service +metadata: + name: ts-delivery-mongo +spec: + ports: + - port: 27017 + selector: + app: ts-delivery-mongo + +--- + +apiVersion: apps/v1 +kind: Deployment +metadata: + name: rabbitmq +spec: + selector: + matchLabels: + app: rabbitmq + replicas: 1 + template: + metadata: + labels: + app: rabbitmq + spec: + containers: + - name: rabbitmq + image: rabbitmq:3 + imagePullPolicy: IfNotPresent + ports: + - containerPort: 5672 + resources: + requests: + cpu: 100m + memory: 200Mi +--- apiVersion: v1 kind: Service metadata: - name: ts-user-mongo + name: rabbitmq +spec: + ports: + - port: 5672 + selector: + app: rabbitmq + +--- +apiVersion: v1 +kind: Service +metadata: + name: ts-user-mongo spec: ports: - port: 27017 selector: - app: ts-user-mongo + app: ts-user-mongo --- apiVersion: v1 @@ -613,7 +723,7 @@ spec: ports: - port: 27017 selector: - app: ts-auth-mongo + app: ts-auth-mongo --- apiVersion: v1 @@ -624,7 +734,7 @@ spec: ports: - port: 27017 selector: - app: ts-route-mongo + app: ts-route-mongo --- @@ -636,7 +746,7 @@ spec: ports: - port: 27017 selector: - app: ts-contacts-mongo + app: ts-contacts-mongo --- @@ -648,7 +758,7 @@ spec: ports: - port: 27017 selector: - app: ts-order-mongo + app: ts-order-mongo --- @@ -660,7 +770,7 @@ spec: ports: - port: 27017 selector: - app: ts-order-other-mongo + app: ts-order-other-mongo --- @@ -672,7 +782,7 @@ spec: ports: - port: 27017 selector: - app: ts-config-mongo + app: ts-config-mongo --- @@ -684,7 +794,7 @@ spec: ports: - port: 27017 selector: - app: ts-station-mongo + app: ts-station-mongo --- @@ -696,7 +806,7 @@ spec: ports: - port: 27017 selector: - app: ts-train-mongo + app: ts-train-mongo --- @@ -708,7 +818,7 @@ spec: ports: - port: 27017 selector: - app: ts-travel-mongo + app: ts-travel-mongo --- @@ -720,7 +830,7 @@ spec: ports: - port: 27017 selector: - app: ts-travel2-mongo + app: ts-travel2-mongo --- @@ -732,7 +842,7 @@ spec: ports: - port: 27017 selector: - app: ts-price-mongo + app: ts-price-mongo --- @@ -744,7 +854,7 @@ spec: ports: - port: 27017 selector: - app: ts-security-mongo + app: ts-security-mongo --- @@ -756,7 +866,7 @@ spec: ports: - port: 27017 selector: - app: ts-inside-payment-mongo + app: ts-inside-payment-mongo --- @@ -768,7 +878,7 @@ spec: ports: - port: 27017 selector: - app: ts-payment-mongo + app: ts-payment-mongo --- @@ -780,7 +890,7 @@ spec: ports: - port: 27017 selector: - app: ts-assurance-mongo + app: ts-assurance-mongo --- @@ -792,7 +902,7 @@ spec: ports: - port: 27017 selector: - app: ts-ticket-office-mongo + app: ts-ticket-office-mongo --- @@ -804,7 +914,7 @@ spec: ports: - port: 3306 selector: - app: ts-voucher-mysql + app: ts-voucher-mysql --- @@ -816,7 +926,7 @@ spec: ports: - port: 27017 selector: - app: ts-food-map-mongo + app: ts-food-map-mongo --- @@ -828,7 +938,7 @@ spec: ports: - port: 27017 selector: - app: ts-consign-mongo + app: ts-consign-mongo --- @@ -840,7 +950,7 @@ spec: ports: - port: 27017 selector: - app: ts-consign-price-mongo + app: ts-consign-price-mongo --- @@ -852,4 +962,5 @@ spec: ports: - port: 27017 selector: - app: ts-food-mongo + app: ts-food-mongo + diff --git a/deployment/kubernetes-manifests/quickstart-k8s/quickstart-ts-deployment-part2.yml b/deployment/kubernetes-manifests/quickstart-k8s/quickstart-ts-deployment-part2.yml index 6453741a0..4a6dc730a 100644 --- a/deployment/kubernetes-manifests/quickstart-k8s/quickstart-ts-deployment-part2.yml +++ b/deployment/kubernetes-manifests/quickstart-k8s/quickstart-ts-deployment-part2.yml @@ -1,44 +1,3 @@ -# apiVersion: v1 -# kind: Service -# metadata: -# name: rest-service-collect -# labels: -# app: rest-service-collect -# spec: -# type: NodePort -# ports: -# - port: 9413 -# selector: -# app: rest-service-collect -# --- - -# apiVersion: extensions/v1beta1 -# kind: Deployment -# metadata: -# name: rest-service-collect -# spec: -# replicas: 1 -# template: -# metadata: -# labels: -# app: rest-service-collect -# version: v1 -# spec: -# nodeName: k8snode3 -# containers: -# - name: rest-service-collect -# image: header/rest-service-collect -# imagePullPolicy: IfNotPresent -# ports: -# - containerPort: 9413 -# volumeMounts: -# - name: collect -# mountPath: /parquet -# volumes: -# - name: collect -# hostPath: -# path: /home/parquet ---- apiVersion: apps/v1 kind: Deployment metadata: @@ -54,24 +13,29 @@ spec: app: ts-admin-basic-info-service spec: containers: - - name: ts-admin-basic-info-service - image: codewisdom/ts-admin-basic-info-service:0.0.4 - imagePullPolicy: Always - ports: - - containerPort: 18767 - resources: - requests: - cpu: 50m - memory: 100Mi - limits: - cpu: 200m - memory: 500Mi - readinessProbe: - tcpSocket: - port: 18767 - initialDelaySeconds: 160 - periodSeconds: 10 - timeoutSeconds: 5 + - name: ts-admin-basic-info-service + image: codewisdom/ts-admin-basic-info-service:latest + imagePullPolicy: Always + env: + - name: NODE_IP + valueFrom: + fieldRef: + fieldPath: status.hostIP + ports: + - containerPort: 18767 + resources: + requests: + cpu: 100m + memory: 100Mi + limits: + cpu: 500m + memory: 500Mi + readinessProbe: + tcpSocket: + port: 18767 + initialDelaySeconds: 60 + periodSeconds: 10 + timeoutSeconds: 5 --- @@ -90,24 +54,29 @@ spec: app: ts-admin-order-service spec: containers: - - name: ts-admin-order-service - image: codewisdom/ts-admin-order-service:0.0.4 - imagePullPolicy: Always - ports: - - containerPort: 16112 - resources: - requests: - cpu: 50m - memory: 160Mi - limits: - cpu: 200m - memory: 500Mi - readinessProbe: - tcpSocket: - port: 16112 - initialDelaySeconds: 160 - periodSeconds: 10 - timeoutSeconds: 5 + - name: ts-admin-order-service + image: codewisdom/ts-admin-order-service:latest + imagePullPolicy: Always + env: + - name: NODE_IP + valueFrom: + fieldRef: + fieldPath: status.hostIP + ports: + - containerPort: 16112 + resources: + requests: + cpu: 100m + memory: 100Mi + limits: + cpu: 500m + memory: 500Mi + readinessProbe: + tcpSocket: + port: 16112 + initialDelaySeconds: 60 + periodSeconds: 10 + timeoutSeconds: 5 --- apiVersion: apps/v1 @@ -125,24 +94,29 @@ spec: app: ts-admin-route-service spec: containers: - - name: ts-admin-route-service - image: codewisdom/ts-admin-route-service:0.0.4 - imagePullPolicy: Always - ports: - - containerPort: 16113 - resources: - requests: - cpu: 50m - memory: 160Mi - limits: - cpu: 200m - memory: 500Mi - readinessProbe: - tcpSocket: - port: 16113 - initialDelaySeconds: 160 - periodSeconds: 10 - timeoutSeconds: 5 + - name: ts-admin-route-service + image: codewisdom/ts-admin-route-service:latest + imagePullPolicy: Always + env: + - name: NODE_IP + valueFrom: + fieldRef: + fieldPath: status.hostIP + ports: + - containerPort: 16113 + resources: + requests: + cpu: 100m + memory: 100Mi + limits: + cpu: 500m + memory: 500Mi + readinessProbe: + tcpSocket: + port: 16113 + initialDelaySeconds: 60 + periodSeconds: 10 + timeoutSeconds: 5 --- apiVersion: apps/v1 @@ -160,24 +134,29 @@ spec: app: ts-admin-travel-service spec: containers: - - name: ts-admin-travel-service - image: codewisdom/ts-admin-travel-service:0.0.4 - imagePullPolicy: Always - ports: - - containerPort: 16114 - resources: - requests: - cpu: 50m - memory: 160Mi - limits: - cpu: 200m - memory: 500Mi - readinessProbe: - tcpSocket: - port: 16114 - initialDelaySeconds: 160 - periodSeconds: 10 - timeoutSeconds: 5 + - name: ts-admin-travel-service + image: codewisdom/ts-admin-travel-service:latest + imagePullPolicy: Always + env: + - name: NODE_IP + valueFrom: + fieldRef: + fieldPath: status.hostIP + ports: + - containerPort: 16114 + resources: + requests: + cpu: 100m + memory: 100Mi + limits: + cpu: 500m + memory: 500Mi + readinessProbe: + tcpSocket: + port: 16114 + initialDelaySeconds: 60 + periodSeconds: 10 + timeoutSeconds: 5 --- apiVersion: apps/v1 @@ -195,24 +174,29 @@ spec: app: ts-admin-user-service spec: containers: - - name: ts-admin-user-service - image: codewisdom/ts-admin-user-service:0.0.4 - imagePullPolicy: Always - ports: - - containerPort: 16115 - resources: - requests: - cpu: 50m - memory: 160Mi - limits: - cpu: 200m - memory: 500Mi - readinessProbe: - tcpSocket: - port: 16115 - initialDelaySeconds: 160 - periodSeconds: 10 - timeoutSeconds: 5 + - name: ts-admin-user-service + image: codewisdom/ts-admin-user-service:latest + imagePullPolicy: Always + env: + - name: NODE_IP + valueFrom: + fieldRef: + fieldPath: status.hostIP + ports: + - containerPort: 16115 + resources: + requests: + cpu: 100m + memory: 100Mi + limits: + cpu: 500m + memory: 500Mi + readinessProbe: + tcpSocket: + port: 16115 + initialDelaySeconds: 60 + periodSeconds: 10 + timeoutSeconds: 5 --- apiVersion: apps/v1 @@ -230,24 +214,29 @@ spec: app: ts-assurance-service spec: containers: - - name: ts-assurance-service - image: codewisdom/ts-assurance-service:0.0.4 - imagePullPolicy: Always - ports: - - containerPort: 18888 - resources: - requests: - cpu: 50m - memory: 160Mi - limits: - cpu: 200m - memory: 500Mi - readinessProbe: - tcpSocket: - port: 18888 - initialDelaySeconds: 160 - periodSeconds: 10 - timeoutSeconds: 5 + - name: ts-assurance-service + image: codewisdom/ts-assurance-service:latest + imagePullPolicy: Always + env: + - name: NODE_IP + valueFrom: + fieldRef: + fieldPath: status.hostIP + ports: + - containerPort: 18888 + resources: + requests: + cpu: 100m + memory: 100Mi + limits: + cpu: 500m + memory: 500Mi + readinessProbe: + tcpSocket: + port: 18888 + initialDelaySeconds: 60 + periodSeconds: 10 + timeoutSeconds: 5 --- apiVersion: apps/v1 @@ -265,24 +254,29 @@ spec: app: ts-basic-service spec: containers: - - name: ts-basic-service - image: codewisdom/ts-basic-service:0.0.4 - imagePullPolicy: Always - ports: - - containerPort: 15680 - resources: - requests: - cpu: 50m - memory: 160Mi - limits: - cpu: 200m - memory: 500Mi - readinessProbe: - tcpSocket: - port: 15680 - initialDelaySeconds: 160 - periodSeconds: 10 - timeoutSeconds: 5 + - name: ts-basic-service + image: codewisdom/ts-basic-service:latest + imagePullPolicy: Always + env: + - name: NODE_IP + valueFrom: + fieldRef: + fieldPath: status.hostIP + ports: + - containerPort: 15680 + resources: + requests: + cpu: 100m + memory: 100Mi + limits: + cpu: 500m + memory: 500Mi + readinessProbe: + tcpSocket: + port: 15680 + initialDelaySeconds: 60 + periodSeconds: 10 + timeoutSeconds: 5 --- apiVersion: apps/v1 @@ -300,24 +294,29 @@ spec: app: ts-cancel-service spec: containers: - - name: ts-cancel-service - image: codewisdom/ts-cancel-service:0.0.4 - imagePullPolicy: Always - ports: - - containerPort: 18885 - resources: - requests: - cpu: 50m - memory: 160Mi - limits: - cpu: 200m - memory: 500Mi - readinessProbe: - tcpSocket: - port: 18885 - initialDelaySeconds: 160 - periodSeconds: 10 - timeoutSeconds: 5 + - name: ts-cancel-service + image: codewisdom/ts-cancel-service:latest + imagePullPolicy: Always + env: + - name: NODE_IP + valueFrom: + fieldRef: + fieldPath: status.hostIP + ports: + - containerPort: 18885 + resources: + requests: + cpu: 100m + memory: 100Mi + limits: + cpu: 500m + memory: 500Mi + readinessProbe: + tcpSocket: + port: 18885 + initialDelaySeconds: 60 + periodSeconds: 10 + timeoutSeconds: 5 --- apiVersion: apps/v1 @@ -335,24 +334,29 @@ spec: app: ts-config-service spec: containers: - - name: ts-config-service - image: codewisdom/ts-config-service:0.0.4 - imagePullPolicy: Always - ports: - - containerPort: 15679 - resources: - requests: - cpu: 50m - memory: 160Mi - limits: - cpu: 200m - memory: 500Mi - readinessProbe: - tcpSocket: - port: 15679 - initialDelaySeconds: 160 - periodSeconds: 10 - timeoutSeconds: 5 + - name: ts-config-service + image: codewisdom/ts-config-service:latest + imagePullPolicy: Always + env: + - name: NODE_IP + valueFrom: + fieldRef: + fieldPath: status.hostIP + ports: + - containerPort: 15679 + resources: + requests: + cpu: 100m + memory: 100Mi + limits: + cpu: 500m + memory: 500Mi + readinessProbe: + tcpSocket: + port: 15679 + initialDelaySeconds: 60 + periodSeconds: 10 + timeoutSeconds: 5 --- apiVersion: apps/v1 @@ -370,24 +374,29 @@ spec: app: ts-consign-price-service spec: containers: - - name: ts-consign-price-service - image: codewisdom/ts-consign-price-service:0.0.4 - imagePullPolicy: Always - ports: - - containerPort: 16110 - resources: - requests: - cpu: 50m - memory: 160Mi - limits: - cpu: 200m - memory: 500Mi - readinessProbe: - tcpSocket: - port: 16110 - initialDelaySeconds: 160 - periodSeconds: 10 - timeoutSeconds: 5 + - name: ts-consign-price-service + image: codewisdom/ts-consign-price-service:latest + imagePullPolicy: Always + env: + - name: NODE_IP + valueFrom: + fieldRef: + fieldPath: status.hostIP + ports: + - containerPort: 16110 + resources: + requests: + cpu: 100m + memory: 100Mi + limits: + cpu: 500m + memory: 500Mi + readinessProbe: + tcpSocket: + port: 16110 + initialDelaySeconds: 60 + periodSeconds: 10 + timeoutSeconds: 5 --- apiVersion: apps/v1 @@ -405,24 +414,29 @@ spec: app: ts-consign-service spec: containers: - - name: ts-consign-service - image: codewisdom/ts-consign-service:0.0.4 - imagePullPolicy: Always - ports: - - containerPort: 16111 - resources: - requests: - cpu: 50m - memory: 160Mi - limits: - cpu: 200m - memory: 500Mi - readinessProbe: - tcpSocket: - port: 16111 - initialDelaySeconds: 160 - periodSeconds: 10 - timeoutSeconds: 5 + - name: ts-consign-service + image: codewisdom/ts-consign-service:latest + imagePullPolicy: Always + env: + - name: NODE_IP + valueFrom: + fieldRef: + fieldPath: status.hostIP + ports: + - containerPort: 16111 + resources: + requests: + cpu: 100m + memory: 100Mi + limits: + cpu: 500m + memory: 500Mi + readinessProbe: + tcpSocket: + port: 16111 + initialDelaySeconds: 60 + periodSeconds: 10 + timeoutSeconds: 5 --- apiVersion: apps/v1 @@ -440,24 +454,29 @@ spec: app: ts-contacts-service spec: containers: - - name: ts-contacts-service - image: codewisdom/ts-contacts-service:0.0.4 - imagePullPolicy: Always - ports: - - containerPort: 12347 - resources: - requests: - cpu: 50m - memory: 160Mi - limits: - cpu: 200m - memory: 500Mi - readinessProbe: - tcpSocket: - port: 12347 - initialDelaySeconds: 160 - periodSeconds: 10 - timeoutSeconds: 5 + - name: ts-contacts-service + image: codewisdom/ts-contacts-service:latest + imagePullPolicy: Always + env: + - name: NODE_IP + valueFrom: + fieldRef: + fieldPath: status.hostIP + ports: + - containerPort: 12347 + resources: + requests: + cpu: 100m + memory: 100Mi + limits: + cpu: 500m + memory: 500Mi + readinessProbe: + tcpSocket: + port: 12347 + initialDelaySeconds: 60 + periodSeconds: 10 + timeoutSeconds: 5 --- apiVersion: apps/v1 @@ -475,24 +494,29 @@ spec: app: ts-execute-service spec: containers: - - name: ts-execute-service - image: codewisdom/ts-execute-service:0.0.4 - imagePullPolicy: Always - ports: - - containerPort: 12386 - resources: - requests: - cpu: 50m - memory: 160Mi - limits: - cpu: 200m - memory: 500Mi - readinessProbe: - tcpSocket: - port: 12386 - initialDelaySeconds: 160 - periodSeconds: 10 - timeoutSeconds: 5 + - name: ts-execute-service + image: codewisdom/ts-execute-service:latest + imagePullPolicy: Always + env: + - name: NODE_IP + valueFrom: + fieldRef: + fieldPath: status.hostIP + ports: + - containerPort: 12386 + resources: + requests: + cpu: 100m + memory: 100Mi + limits: + cpu: 500m + memory: 500Mi + readinessProbe: + tcpSocket: + port: 12386 + initialDelaySeconds: 60 + periodSeconds: 10 + timeoutSeconds: 5 --- apiVersion: apps/v1 @@ -510,24 +534,29 @@ spec: app: ts-food-map-service spec: containers: - - name: ts-food-map-service - image: codewisdom/ts-food-map-service:0.0.4 - imagePullPolicy: Always - ports: - - containerPort: 18855 - resources: - requests: - cpu: 50m - memory: 160Mi - limits: - cpu: 200m - memory: 500Mi - readinessProbe: - tcpSocket: - port: 18855 - initialDelaySeconds: 160 - periodSeconds: 10 - timeoutSeconds: 5 + - name: ts-food-map-service + image: codewisdom/ts-food-map-service:latest + imagePullPolicy: Always + env: + - name: NODE_IP + valueFrom: + fieldRef: + fieldPath: status.hostIP + ports: + - containerPort: 18855 + resources: + requests: + cpu: 100m + memory: 100Mi + limits: + cpu: 500m + memory: 500Mi + readinessProbe: + tcpSocket: + port: 18855 + initialDelaySeconds: 60 + periodSeconds: 10 + timeoutSeconds: 5 --- apiVersion: apps/v1 @@ -545,24 +574,33 @@ spec: app: ts-food-service spec: containers: - - name: ts-food-service - image: codewisdom/ts-food-service:0.0.4 - imagePullPolicy: Always - ports: - - containerPort: 18856 - resources: - requests: - cpu: 50m - memory: 160Mi - limits: - cpu: 200m - memory: 500Mi - readinessProbe: - tcpSocket: - port: 18856 - initialDelaySeconds: 160 - periodSeconds: 10 - timeoutSeconds: 5 + - name: ts-food-service + image: codewisdom/ts-food-service:0.1 + imagePullPolicy: Always + env: + - name: NODE_IP + valueFrom: + fieldRef: + fieldPath: status.hostIP + - name: rabbitmq_host + value: "rabbitmq" + - name: rabbitmq_port + value: "5672" + ports: + - containerPort: 18856 + resources: + requests: + cpu: 100m + memory: 100Mi + limits: + cpu: 500m + memory: 500Mi + readinessProbe: + tcpSocket: + port: 18856 + initialDelaySeconds: 60 + periodSeconds: 10 + timeoutSeconds: 5 --- apiVersion: apps/v1 @@ -580,24 +618,29 @@ spec: app: ts-inside-payment-service spec: containers: - - name: ts-inside-payment-service - image: codewisdom/ts-inside-payment-service:0.0.4 - imagePullPolicy: Always - ports: - - containerPort: 18673 - resources: - requests: - cpu: 50m - memory: 160Mi - limits: - cpu: 200m - memory: 500Mi - readinessProbe: - tcpSocket: - port: 18673 - initialDelaySeconds: 160 - periodSeconds: 10 - timeoutSeconds: 5 + - name: ts-inside-payment-service + image: codewisdom/ts-inside-payment-service:latest + imagePullPolicy: Always + env: + - name: NODE_IP + valueFrom: + fieldRef: + fieldPath: status.hostIP + ports: + - containerPort: 18673 + resources: + requests: + cpu: 100m + memory: 100Mi + limits: + cpu: 500m + memory: 500Mi + readinessProbe: + tcpSocket: + port: 18673 + initialDelaySeconds: 60 + periodSeconds: 10 + timeoutSeconds: 5 --- apiVersion: apps/v1 @@ -615,24 +658,29 @@ spec: app: ts-auth-service spec: containers: - - name: ts-auth-service - image: codewisdom/ts-auth-service:0.0.4 - imagePullPolicy: Always - ports: - - containerPort: 12340 - resources: - requests: - cpu: 50m - memory: 160Mi - limits: - cpu: 200m - memory: 500Mi - readinessProbe: - tcpSocket: - port: 12340 - initialDelaySeconds: 160 - periodSeconds: 10 - timeoutSeconds: 5 + - name: ts-auth-service + image: codewisdom/ts-auth-service:latest + imagePullPolicy: Always + env: + - name: NODE_IP + valueFrom: + fieldRef: + fieldPath: status.hostIP + ports: + - containerPort: 12340 + resources: + requests: + cpu: 100m + memory: 100Mi + limits: + cpu: 500m + memory: 500Mi + readinessProbe: + tcpSocket: + port: 12340 + initialDelaySeconds: 60 + periodSeconds: 10 + timeoutSeconds: 5 --- apiVersion: apps/v1 @@ -650,24 +698,29 @@ spec: app: ts-news-service spec: containers: - - name: ts-news-service - image: codewisdom/ts-news-service:0.0.4 - imagePullPolicy: Always - ports: - - containerPort: 12862 - resources: - requests: - cpu: 50m - memory: 160Mi - limits: - cpu: 200m - memory: 500Mi - readinessProbe: - tcpSocket: - port: 12862 - initialDelaySeconds: 160 - periodSeconds: 10 - timeoutSeconds: 5 + - name: ts-news-service + image: codewisdom/ts-news-service:latest + imagePullPolicy: Always + env: + - name: NODE_IP + valueFrom: + fieldRef: + fieldPath: status.hostIP + ports: + - containerPort: 12862 + resources: + requests: + cpu: 100m + memory: 100Mi + limits: + cpu: 500m + memory: 500Mi + readinessProbe: + tcpSocket: + port: 12862 + initialDelaySeconds: 60 + periodSeconds: 10 + timeoutSeconds: 5 --- apiVersion: apps/v1 @@ -685,24 +738,37 @@ spec: app: ts-notification-service spec: containers: - - name: ts-notification-service - image: codewisdom/ts-notification-service:0.0.4 - imagePullPolicy: Always - ports: - - containerPort: 17853 - resources: - requests: - cpu: 50m - memory: 160Mi - limits: - cpu: 200m - memory: 500Mi - readinessProbe: - tcpSocket: - port: 17853 - initialDelaySeconds: 160 - periodSeconds: 10 - timeoutSeconds: 5 + - name: ts-notification-service + image: codewisdom/ts-notification-service:latest + imagePullPolicy: Always + env: + - name: NODE_IP + valueFrom: + fieldRef: + fieldPath: status.hostIP + - name: email_address + value: "trainticket_notify@163.com" + - name: email_password + value: "GZKSCXHBOLKMCLDQ" + - name: rabbitmq_host + value: "rabbitmq" + - name: rabbitmq_port + value: "5672" + ports: + - containerPort: 17853 + resources: + requests: + cpu: 100m + memory: 100Mi + limits: + cpu: 500m + memory: 500Mi + readinessProbe: + tcpSocket: + port: 17853 + initialDelaySeconds: 60 + periodSeconds: 10 + timeoutSeconds: 5 --- apiVersion: apps/v1 @@ -720,24 +786,29 @@ spec: app: ts-order-other-service spec: containers: - - name: ts-order-other-service - image: codewisdom/ts-order-other-service:0.0.4 - imagePullPolicy: Always - ports: - - containerPort: 12032 - resources: - requests: - cpu: 50m - memory: 160Mi - limits: - cpu: 200m - memory: 500Mi - readinessProbe: - tcpSocket: - port: 12032 - initialDelaySeconds: 160 - periodSeconds: 10 - timeoutSeconds: 5 + - name: ts-order-other-service + image: codewisdom/ts-order-other-service:latest + imagePullPolicy: Always + env: + - name: NODE_IP + valueFrom: + fieldRef: + fieldPath: status.hostIP + ports: + - containerPort: 12032 + resources: + requests: + cpu: 100m + memory: 100Mi + limits: + cpu: 500m + memory: 500Mi + readinessProbe: + tcpSocket: + port: 12032 + initialDelaySeconds: 60 + periodSeconds: 10 + timeoutSeconds: 5 --- apiVersion: apps/v1 @@ -755,24 +826,29 @@ spec: app: ts-order-service spec: containers: - - name: ts-order-service - image: codewisdom/ts-order-service:0.0.4 - imagePullPolicy: Always - ports: - - containerPort: 12031 - resources: - requests: - cpu: 50m - memory: 160Mi - limits: - cpu: 200m - memory: 500Mi - readinessProbe: - tcpSocket: - port: 12031 - initialDelaySeconds: 160 - periodSeconds: 10 - timeoutSeconds: 5 + - name: ts-order-service + image: codewisdom/ts-order-service:latest + imagePullPolicy: Always + env: + - name: NODE_IP + valueFrom: + fieldRef: + fieldPath: status.hostIP + ports: + - containerPort: 12031 + resources: + requests: + cpu: 100m + memory: 100Mi + limits: + cpu: 500m + memory: 500Mi + readinessProbe: + tcpSocket: + port: 12031 + initialDelaySeconds: 60 + periodSeconds: 10 + timeoutSeconds: 5 --- apiVersion: apps/v1 @@ -790,24 +866,29 @@ spec: app: ts-payment-service spec: containers: - - name: ts-payment-service - image: codewisdom/ts-payment-service:0.0.4 - imagePullPolicy: Always - ports: - - containerPort: 19001 - resources: - requests: - cpu: 50m - memory: 160Mi - limits: - cpu: 200m - memory: 500Mi - readinessProbe: - tcpSocket: - port: 19001 - initialDelaySeconds: 160 - periodSeconds: 10 - timeoutSeconds: 5 + - name: ts-payment-service + image: codewisdom/ts-payment-service:latest + imagePullPolicy: Always + env: + - name: NODE_IP + valueFrom: + fieldRef: + fieldPath: status.hostIP + ports: + - containerPort: 19001 + resources: + requests: + cpu: 100m + memory: 100Mi + limits: + cpu: 500m + memory: 500Mi + readinessProbe: + tcpSocket: + port: 19001 + initialDelaySeconds: 60 + periodSeconds: 10 + timeoutSeconds: 5 --- apiVersion: apps/v1 @@ -825,24 +906,33 @@ spec: app: ts-preserve-other-service spec: containers: - - name: ts-preserve-other-service - image: codewisdom/ts-preserve-other-service:0.0.4 - imagePullPolicy: Always - ports: - - containerPort: 14569 - resources: - requests: - cpu: 50m - memory: 160Mi - limits: - cpu: 200m - memory: 500Mi - readinessProbe: - tcpSocket: - port: 14569 - initialDelaySeconds: 160 - periodSeconds: 10 - timeoutSeconds: 5 + - name: ts-preserve-other-service + image: codewisdom/ts-preserve-other-service:latest + imagePullPolicy: Always + env: + - name: NODE_IP + valueFrom: + fieldRef: + fieldPath: status.hostIP + - name: rabbitmq_host + value: "rabbitmq" + - name: rabbitmq_port + value: "5672" + ports: + - containerPort: 14569 + resources: + requests: + cpu: 100m + memory: 100Mi + limits: + cpu: 500m + memory: 500Mi + readinessProbe: + tcpSocket: + port: 14569 + initialDelaySeconds: 60 + periodSeconds: 10 + timeoutSeconds: 5 --- apiVersion: apps/v1 @@ -860,24 +950,33 @@ spec: app: ts-preserve-service spec: containers: - - name: ts-preserve-service - image: codewisdom/ts-preserve-service:0.0.4 - imagePullPolicy: Always - ports: - - containerPort: 14568 - resources: - requests: - cpu: 50m - memory: 160Mi - limits: - cpu: 200m - memory: 500Mi - readinessProbe: - tcpSocket: - port: 14568 - initialDelaySeconds: 160 - periodSeconds: 10 - timeoutSeconds: 5 + - name: ts-preserve-service + image: codewisdom/ts-preserve-service:latest + imagePullPolicy: Always + env: + - name: NODE_IP + valueFrom: + fieldRef: + fieldPath: status.hostIP + - name: rabbitmq_host + value: "rabbitmq" + - name: rabbitmq_port + value: "5672" + ports: + - containerPort: 14568 + resources: + requests: + cpu: 100m + memory: 100Mi + limits: + cpu: 500m + memory: 500Mi + readinessProbe: + tcpSocket: + port: 14568 + initialDelaySeconds: 60 + periodSeconds: 10 + timeoutSeconds: 5 --- apiVersion: apps/v1 @@ -895,24 +994,29 @@ spec: app: ts-price-service spec: containers: - - name: ts-price-service - image: codewisdom/ts-price-service:0.0.4 - imagePullPolicy: Always - ports: - - containerPort: 16579 - resources: - requests: - cpu: 50m - memory: 160Mi - limits: - cpu: 200m - memory: 500Mi - readinessProbe: - tcpSocket: - port: 16579 - initialDelaySeconds: 160 - periodSeconds: 10 - timeoutSeconds: 5 + - name: ts-price-service + image: codewisdom/ts-price-service:latest + imagePullPolicy: Always + env: + - name: NODE_IP + valueFrom: + fieldRef: + fieldPath: status.hostIP + ports: + - containerPort: 16579 + resources: + requests: + cpu: 100m + memory: 100Mi + limits: + cpu: 500m + memory: 500Mi + readinessProbe: + tcpSocket: + port: 16579 + initialDelaySeconds: 60 + periodSeconds: 10 + timeoutSeconds: 5 --- apiVersion: apps/v1 @@ -930,24 +1034,29 @@ spec: app: ts-rebook-service spec: containers: - - name: ts-rebook-service - image: codewisdom/ts-rebook-service:0.0.4 - imagePullPolicy: Always - ports: - - containerPort: 18886 - resources: - requests: - cpu: 50m - memory: 160Mi - limits: - cpu: 200m - memory: 500Mi - readinessProbe: - tcpSocket: - port: 18886 - initialDelaySeconds: 160 - periodSeconds: 10 - timeoutSeconds: 5 + - name: ts-rebook-service + image: codewisdom/ts-rebook-service:latest + imagePullPolicy: Always + env: + - name: NODE_IP + valueFrom: + fieldRef: + fieldPath: status.hostIP + ports: + - containerPort: 18886 + resources: + requests: + cpu: 100m + memory: 100Mi + limits: + cpu: 500m + memory: 500Mi + readinessProbe: + tcpSocket: + port: 18886 + initialDelaySeconds: 60 + periodSeconds: 10 + timeoutSeconds: 5 --- apiVersion: apps/v1 @@ -965,24 +1074,29 @@ spec: app: ts-route-plan-service spec: containers: - - name: ts-route-plan-service - image: codewisdom/ts-route-plan-service:0.0.4 - imagePullPolicy: Always - ports: - - containerPort: 14578 - resources: - requests: - cpu: 50m - memory: 160Mi - limits: - cpu: 200m - memory: 500Mi - readinessProbe: - tcpSocket: - port: 14578 - initialDelaySeconds: 160 - periodSeconds: 10 - timeoutSeconds: 5 + - name: ts-route-plan-service + image: codewisdom/ts-route-plan-service:latest + imagePullPolicy: Always + env: + - name: NODE_IP + valueFrom: + fieldRef: + fieldPath: status.hostIP + ports: + - containerPort: 14578 + resources: + requests: + cpu: 100m + memory: 100Mi + limits: + cpu: 500m + memory: 500Mi + readinessProbe: + tcpSocket: + port: 14578 + initialDelaySeconds: 60 + periodSeconds: 10 + timeoutSeconds: 5 --- apiVersion: apps/v1 @@ -1000,24 +1114,29 @@ spec: app: ts-route-service spec: containers: - - name: ts-route-service - image: codewisdom/ts-route-service:0.0.4 - imagePullPolicy: Always - ports: - - containerPort: 11178 - resources: - requests: - cpu: 50m - memory: 160Mi - limits: - cpu: 200m - memory: 500Mi - readinessProbe: - tcpSocket: - port: 11178 - initialDelaySeconds: 160 - periodSeconds: 10 - timeoutSeconds: 5 + - name: ts-route-service + image: codewisdom/ts-route-service:latest + imagePullPolicy: Always + env: + - name: NODE_IP + valueFrom: + fieldRef: + fieldPath: status.hostIP + ports: + - containerPort: 11178 + resources: + requests: + cpu: 100m + memory: 100Mi + limits: + cpu: 500m + memory: 500Mi + readinessProbe: + tcpSocket: + port: 11178 + initialDelaySeconds: 60 + periodSeconds: 10 + timeoutSeconds: 5 --- apiVersion: apps/v1 @@ -1035,24 +1154,29 @@ spec: app: ts-seat-service spec: containers: - - name: ts-seat-service - image: codewisdom/ts-seat-service:0.0.4 - imagePullPolicy: Always - ports: - - containerPort: 18898 - resources: - requests: - cpu: 50m - memory: 160Mi - limits: - cpu: 200m - memory: 500Mi - readinessProbe: - tcpSocket: - port: 18898 - initialDelaySeconds: 160 - periodSeconds: 10 - timeoutSeconds: 5 + - name: ts-seat-service + image: codewisdom/ts-seat-service:latest + imagePullPolicy: Always + env: + - name: NODE_IP + valueFrom: + fieldRef: + fieldPath: status.hostIP + ports: + - containerPort: 18898 + resources: + requests: + cpu: 100m + memory: 100Mi + limits: + cpu: 500m + memory: 500Mi + readinessProbe: + tcpSocket: + port: 18898 + initialDelaySeconds: 60 + periodSeconds: 10 + timeoutSeconds: 5 --- apiVersion: apps/v1 @@ -1070,24 +1194,29 @@ spec: app: ts-security-service spec: containers: - - name: ts-security-service - image: codewisdom/ts-security-service:0.0.4 - imagePullPolicy: Always - ports: - - containerPort: 11188 - resources: - requests: - cpu: 50m - memory: 160Mi - limits: - cpu: 200m - memory: 500Mi - readinessProbe: - tcpSocket: - port: 11188 - initialDelaySeconds: 160 - periodSeconds: 10 - timeoutSeconds: 5 + - name: ts-security-service + image: codewisdom/ts-security-service:latest + imagePullPolicy: Always + env: + - name: NODE_IP + valueFrom: + fieldRef: + fieldPath: status.hostIP + ports: + - containerPort: 11188 + resources: + requests: + cpu: 100m + memory: 100Mi + limits: + cpu: 500m + memory: 500Mi + readinessProbe: + tcpSocket: + port: 11188 + initialDelaySeconds: 60 + periodSeconds: 10 + timeoutSeconds: 5 --- apiVersion: apps/v1 @@ -1105,24 +1234,29 @@ spec: app: ts-user-service spec: containers: - - name: ts-user-service - image: codewisdom/ts-user-service:0.0.4 - imagePullPolicy: Always - ports: - - containerPort: 12342 - resources: - requests: - cpu: 50m - memory: 160Mi - limits: - cpu: 200m - memory: 500Mi - readinessProbe: - tcpSocket: - port: 12342 - initialDelaySeconds: 160 - periodSeconds: 10 - timeoutSeconds: 5 + - name: ts-user-service + image: codewisdom/ts-user-service:latest + imagePullPolicy: Always + env: + - name: NODE_IP + valueFrom: + fieldRef: + fieldPath: status.hostIP + ports: + - containerPort: 12342 + resources: + requests: + cpu: 100m + memory: 100Mi + limits: + cpu: 500m + memory: 500Mi + readinessProbe: + tcpSocket: + port: 12342 + initialDelaySeconds: 60 + periodSeconds: 10 + timeoutSeconds: 5 --- apiVersion: apps/v1 @@ -1140,24 +1274,29 @@ spec: app: ts-station-service spec: containers: - - name: ts-station-service - image: codewisdom/ts-station-service:0.0.4 - imagePullPolicy: Always - ports: - - containerPort: 12345 - resources: - requests: - cpu: 50m - memory: 160Mi - limits: - cpu: 200m - memory: 500Mi - readinessProbe: - tcpSocket: - port: 12345 - initialDelaySeconds: 160 - periodSeconds: 10 - timeoutSeconds: 5 + - name: ts-station-service + image: codewisdom/ts-station-service:latest + imagePullPolicy: Always + env: + - name: NODE_IP + valueFrom: + fieldRef: + fieldPath: status.hostIP + ports: + - containerPort: 12345 + resources: + requests: + cpu: 100m + memory: 100Mi + limits: + cpu: 500m + memory: 500Mi + readinessProbe: + tcpSocket: + port: 12345 + initialDelaySeconds: 60 + periodSeconds: 10 + timeoutSeconds: 5 --- apiVersion: apps/v1 @@ -1172,27 +1311,32 @@ spec: template: metadata: labels: - app: ts-ticket-office-service + app: ts-ticket-office-service spec: containers: - - name: ts-ticket-office-service - image: codewisdom/ts-ticket-office-service:0.0.4 - imagePullPolicy: Always - ports: - - containerPort: 16108 - resources: - requests: - cpu: 50m - memory: 160Mi - limits: - cpu: 200m - memory: 500Mi - readinessProbe: - tcpSocket: - port: 16108 - initialDelaySeconds: 160 - periodSeconds: 10 - timeoutSeconds: 5 + - name: ts-ticket-office-service + image: codewisdom/ts-ticket-office-service:latest + imagePullPolicy: Always + env: + - name: NODE_IP + valueFrom: + fieldRef: + fieldPath: status.hostIP + ports: + - containerPort: 16108 + resources: + requests: + cpu: 100m + memory: 100Mi + limits: + cpu: 500m + memory: 500Mi + readinessProbe: + tcpSocket: + port: 16108 + initialDelaySeconds: 60 + periodSeconds: 10 + timeoutSeconds: 5 --- apiVersion: apps/v1 @@ -1210,24 +1354,29 @@ spec: app: ts-ticketinfo-service spec: containers: - - name: ts-ticketinfo-service - image: codewisdom/ts-ticketinfo-service:0.0.4 - imagePullPolicy: Always - ports: - - containerPort: 15681 - resources: - requests: - cpu: 50m - memory: 160Mi - limits: - cpu: 200m - memory: 500Mi - readinessProbe: - tcpSocket: - port: 15681 - initialDelaySeconds: 160 - periodSeconds: 10 - timeoutSeconds: 5 + - name: ts-ticketinfo-service + image: codewisdom/ts-ticketinfo-service:latest + imagePullPolicy: Always + env: + - name: NODE_IP + valueFrom: + fieldRef: + fieldPath: status.hostIP + ports: + - containerPort: 15681 + resources: + requests: + cpu: 100m + memory: 100Mi + limits: + cpu: 500m + memory: 500Mi + readinessProbe: + tcpSocket: + port: 15681 + initialDelaySeconds: 60 + periodSeconds: 10 + timeoutSeconds: 5 --- apiVersion: apps/v1 @@ -1245,24 +1394,29 @@ spec: app: ts-train-service spec: containers: - - name: ts-train-service - image: codewisdom/ts-train-service:0.0.4 - imagePullPolicy: Always - ports: - - containerPort: 14567 - resources: - requests: - cpu: 50m - memory: 160Mi - limits: - cpu: 200m - memory: 500Mi - readinessProbe: - tcpSocket: - port: 14567 - initialDelaySeconds: 160 - periodSeconds: 10 - timeoutSeconds: 5 + - name: ts-train-service + image: codewisdom/ts-train-service:latest + imagePullPolicy: Always + env: + - name: NODE_IP + valueFrom: + fieldRef: + fieldPath: status.hostIP + ports: + - containerPort: 14567 + resources: + requests: + cpu: 100m + memory: 100Mi + limits: + cpu: 500m + memory: 500Mi + readinessProbe: + tcpSocket: + port: 14567 + initialDelaySeconds: 60 + periodSeconds: 10 + timeoutSeconds: 5 --- apiVersion: apps/v1 @@ -1280,24 +1434,29 @@ spec: app: ts-travel2-service spec: containers: - - name: ts-travel2-service - image: codewisdom/ts-travel2-service:0.0.4 - imagePullPolicy: Always - ports: - - containerPort: 16346 - resources: - requests: - cpu: 50m - memory: 160Mi - limits: - cpu: 200m - memory: 500Mi - readinessProbe: - tcpSocket: - port: 16346 - initialDelaySeconds: 160 - periodSeconds: 10 - timeoutSeconds: 5 + - name: ts-travel2-service + image: codewisdom/ts-travel2-service:latest + imagePullPolicy: Always + env: + - name: NODE_IP + valueFrom: + fieldRef: + fieldPath: status.hostIP + ports: + - containerPort: 16346 + resources: + requests: + cpu: 100m + memory: 100Mi + limits: + cpu: 500m + memory: 500Mi + readinessProbe: + tcpSocket: + port: 16346 + initialDelaySeconds: 60 + periodSeconds: 10 + timeoutSeconds: 5 --- apiVersion: apps/v1 @@ -1315,24 +1474,29 @@ spec: app: ts-travel-plan-service spec: containers: - - name: ts-travel-plan-service - image: codewisdom/ts-travel-plan-service:0.0.4 - imagePullPolicy: Always - ports: - - containerPort: 14322 - resources: - requests: - cpu: 50m - memory: 160Mi - limits: - cpu: 200m - memory: 500Mi - readinessProbe: - tcpSocket: - port: 14322 - initialDelaySeconds: 160 - periodSeconds: 10 - timeoutSeconds: 5 + - name: ts-travel-plan-service + image: codewisdom/ts-travel-plan-service:latest + imagePullPolicy: Always + env: + - name: NODE_IP + valueFrom: + fieldRef: + fieldPath: status.hostIP + ports: + - containerPort: 14322 + resources: + requests: + cpu: 100m + memory: 100Mi + limits: + cpu: 500m + memory: 500Mi + readinessProbe: + tcpSocket: + port: 14322 + initialDelaySeconds: 60 + periodSeconds: 10 + timeoutSeconds: 5 --- apiVersion: apps/v1 @@ -1350,134 +1514,155 @@ spec: app: ts-travel-service spec: containers: - - name: ts-travel-service - image: codewisdom/ts-travel-service:0.0.4 - imagePullPolicy: Always - ports: - - containerPort: 12346 - resources: - requests: - cpu: 50m - memory: 160Mi - limits: - cpu: 200m - memory: 500Mi - readinessProbe: - tcpSocket: - port: 12346 - initialDelaySeconds: 160 - periodSeconds: 10 - timeoutSeconds: 5 ---- + - name: ts-travel-service + image: codewisdom/ts-travel-service:latest + imagePullPolicy: Always + env: + - name: NODE_IP + valueFrom: + fieldRef: + fieldPath: status.hostIP + ports: + - containerPort: 12346 + resources: + requests: + cpu: 100m + memory: 100Mi + limits: + cpu: 500m + memory: 500Mi + readinessProbe: + tcpSocket: + port: 12346 + initialDelaySeconds: 60 + periodSeconds: 10 + timeoutSeconds: 5 +--- apiVersion: apps/v1 kind: Deployment metadata: - name: ts-verification-code-service + name: ts-delivery-service spec: selector: matchLabels: - app: ts-verification-code-service + app: ts-delivery-service replicas: 1 template: metadata: labels: - app: ts-verification-code-service + app: ts-delivery-service spec: containers: - - name: ts-verification-code-service - image: codewisdom/ts-verification-code-service:0.0.4 - imagePullPolicy: Always - ports: - - containerPort: 15678 - resources: - requests: - cpu: 50m - memory: 160Mi - limits: - cpu: 200m - memory: 500Mi - readinessProbe: - tcpSocket: - port: 15678 - initialDelaySeconds: 160 - periodSeconds: 10 - timeoutSeconds: 5 + - name: ts-delivery-service + image: codewisdom/ts-delivery-service:latest + imagePullPolicy: Always + env: + - name: NODE_IP + valueFrom: + fieldRef: + fieldPath: status.hostIP + - name: rabbitmq_host + value: "rabbitmq" + - name: rabbitmq_port + value: "5672" + ports: + - containerPort: 18808 + resources: + requests: + cpu: 100m + memory: 100Mi + limits: + cpu: 500m + memory: 500Mi + readinessProbe: + tcpSocket: + port: 18808 + initialDelaySeconds: 60 + periodSeconds: 10 + timeoutSeconds: 5 + --- apiVersion: apps/v1 kind: Deployment metadata: - name: ts-voucher-service + name: ts-verification-code-service spec: selector: matchLabels: - app: ts-voucher-service + app: ts-verification-code-service replicas: 1 template: metadata: labels: - app: ts-voucher-service + app: ts-verification-code-service spec: containers: - - name: ts-voucher-service - image: codewisdom/ts-voucher-service:0.0.4 - imagePullPolicy: Always - ports: - - containerPort: 16101 - resources: - requests: - cpu: 50m - memory: 160Mi - limits: - cpu: 200m - memory: 500Mi - readinessProbe: - tcpSocket: - port: 16101 - initialDelaySeconds: 160 - periodSeconds: 10 - timeoutSeconds: 5 - + - name: ts-verification-code-service + image: codewisdom/ts-verification-code-service:latest + imagePullPolicy: Always + env: + - name: NODE_IP + valueFrom: + fieldRef: + fieldPath: status.hostIP + ports: + - containerPort: 15678 + resources: + requests: + cpu: 100m + memory: 100Mi + limits: + cpu: 500m + memory: 500Mi + readinessProbe: + tcpSocket: + port: 15678 + initialDelaySeconds: 60 + periodSeconds: 10 + timeoutSeconds: 5 --- apiVersion: apps/v1 kind: Deployment metadata: - name: ts-avatar-service + name: ts-voucher-service spec: selector: matchLabels: - app: ts-avatar-service + app: ts-voucher-service replicas: 1 template: metadata: labels: - app: ts-avatar-service + app: ts-voucher-service spec: containers: - - name: ts-avatar-service - image: codewisdom/ts-avatar-service:0.1.0 - imagePullPolicy: Always - ports: - - containerPort: 17001 - resources: - requests: - cpu: 50m - memory: 200Mi - limits: - cpu: 200m - memory: 500Mi - readinessProbe: - tcpSocket: - port: 17001 - initialDelaySeconds: 160 - periodSeconds: 10 - timeoutSeconds: 5 - - + - name: ts-voucher-service + image: codewisdom/ts-voucher-service:latest + imagePullPolicy: Always + env: + - name: NODE_IP + valueFrom: + fieldRef: + fieldPath: status.hostIP + ports: + - containerPort: 16101 + resources: + requests: + cpu: 100m + memory: 100Mi + limits: + cpu: 500m + memory: 500Mi + readinessProbe: + tcpSocket: + port: 16101 + initialDelaySeconds: 60 + periodSeconds: 10 + timeoutSeconds: 5 --- - apiVersion: v1 kind: Service metadata: @@ -1487,7 +1672,19 @@ spec: - name: http port: 18767 selector: - app: ts-admin-basic-info-service + app: ts-admin-basic-info-service + +--- +apiVersion: v1 +kind: Service +metadata: + name: ts-delivery-service +spec: + ports: + - name: http + port: 18808 + selector: + app: ts-delivery-service --- @@ -1500,7 +1697,7 @@ spec: - name: http port: 16112 selector: - app: ts-admin-order-service + app: ts-admin-order-service --- @@ -1513,7 +1710,7 @@ spec: - name: http port: 16113 selector: - app: ts-admin-route-service + app: ts-admin-route-service --- @@ -1526,7 +1723,7 @@ spec: - name: http port: 16114 selector: - app: ts-admin-travel-service + app: ts-admin-travel-service --- @@ -1539,7 +1736,7 @@ spec: - name: http port: 16115 selector: - app: ts-admin-user-service + app: ts-admin-user-service --- @@ -1552,7 +1749,7 @@ spec: - name: http port: 18888 selector: - app: ts-assurance-service + app: ts-assurance-service --- @@ -1565,7 +1762,7 @@ spec: - name: http port: 15680 selector: - app: ts-basic-service + app: ts-basic-service --- @@ -1578,7 +1775,7 @@ spec: - name: http port: 18885 selector: - app: ts-cancel-service + app: ts-cancel-service --- @@ -1591,7 +1788,7 @@ spec: - name: http port: 15679 selector: - app: ts-config-service + app: ts-config-service --- @@ -1604,7 +1801,7 @@ spec: - name: http port: 16110 selector: - app: ts-consign-price-service + app: ts-consign-price-service --- @@ -1617,7 +1814,7 @@ spec: - name: http port: 16111 selector: - app: ts-consign-service + app: ts-consign-service --- @@ -1630,7 +1827,7 @@ spec: - name: http port: 12347 selector: - app: ts-contacts-service + app: ts-contacts-service --- @@ -1643,7 +1840,7 @@ spec: - name: http port: 12386 selector: - app: ts-execute-service + app: ts-execute-service --- @@ -1656,7 +1853,7 @@ spec: - name: http port: 18855 selector: - app: ts-food-map-service + app: ts-food-map-service --- @@ -1669,7 +1866,7 @@ spec: - name: http port: 18856 selector: - app: ts-food-service + app: ts-food-service --- @@ -1682,7 +1879,7 @@ spec: - name: http port: 18673 selector: - app: ts-inside-payment-service + app: ts-inside-payment-service --- @@ -1695,7 +1892,7 @@ spec: - name: http port: 12342 selector: - app: ts-user-service + app: ts-user-service --- @@ -1708,7 +1905,7 @@ spec: - name: http port: 17853 selector: - app: ts-notification-service + app: ts-notification-service --- @@ -1721,7 +1918,7 @@ spec: - name: http port: 12862 selector: - app: ts-news-service + app: ts-news-service --- @@ -1734,7 +1931,7 @@ spec: - name: http port: 12032 selector: - app: ts-order-other-service + app: ts-order-other-service --- @@ -1747,7 +1944,7 @@ spec: - name: http port: 12031 selector: - app: ts-order-service + app: ts-order-service --- @@ -1760,7 +1957,7 @@ spec: - name: http port: 19001 selector: - app: ts-payment-service + app: ts-payment-service --- @@ -1773,7 +1970,7 @@ spec: - name: http port: 14569 selector: - app: ts-preserve-other-service + app: ts-preserve-other-service --- @@ -1786,7 +1983,7 @@ spec: - name: http port: 14568 selector: - app: ts-preserve-service + app: ts-preserve-service --- @@ -1799,7 +1996,7 @@ spec: - name: http port: 16579 selector: - app: ts-price-service + app: ts-price-service --- @@ -1812,7 +2009,7 @@ spec: - name: http port: 18886 selector: - app: ts-rebook-service + app: ts-rebook-service --- @@ -1825,7 +2022,7 @@ spec: - name: http port: 14578 selector: - app: ts-route-plan-service + app: ts-route-plan-service --- @@ -1838,7 +2035,7 @@ spec: - name: http port: 11178 selector: - app: ts-route-service + app: ts-route-service --- @@ -1851,7 +2048,7 @@ spec: - name: http port: 18898 selector: - app: ts-seat-service + app: ts-seat-service --- @@ -1864,7 +2061,7 @@ spec: - name: http port: 11188 selector: - app: ts-security-service + app: ts-security-service --- @@ -1873,12 +2070,13 @@ kind: Service metadata: name: ts-auth-service spec: - type: LoadBalancer + type: NodePort ports: - name: http port: 12340 + nodePort: 30000 selector: - app: ts-auth-service + app: ts-auth-service --- @@ -1891,7 +2089,7 @@ spec: - name: http port: 12345 selector: - app: ts-station-service + app: ts-station-service --- @@ -1904,7 +2102,7 @@ spec: - name: http port: 16108 selector: - app: ts-ticket-office-service + app: ts-ticket-office-service --- @@ -1917,7 +2115,7 @@ spec: - name: http port: 15681 selector: - app: ts-ticketinfo-service + app: ts-ticketinfo-service --- @@ -1930,7 +2128,7 @@ spec: - name: http port: 14567 selector: - app: ts-train-service + app: ts-train-service --- @@ -1943,7 +2141,7 @@ spec: - name: http port: 16346 selector: - app: ts-travel2-service + app: ts-travel2-service --- @@ -1956,7 +2154,7 @@ spec: - name: http port: 14322 selector: - app: ts-travel-plan-service + app: ts-travel-plan-service --- @@ -1969,7 +2167,7 @@ spec: - name: http port: 12346 selector: - app: ts-travel-service + app: ts-travel-service --- @@ -1983,7 +2181,7 @@ spec: - name: http port: 15678 selector: - app: ts-verification-code-service + app: ts-verification-code-service --- @@ -1997,17 +2195,5 @@ spec: - name: http port: 16101 selector: - app: ts-voucher-service + app: ts-voucher-service ---- - -apiVersion: v1 -kind: Service -metadata: - name: ts-avatar-service -spec: - ports: - - name: http - port: 17001 - selector: - app: ts-avatar-service diff --git a/docker-compose.yml b/docker-compose.yml index 2b226f81e..293aedc27 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -34,7 +34,7 @@ services: ts-ui-dashboard: build: ts-ui-dashboard - image: ${NAMESPACE}/ts-ui-dashboard:${TAG} + image: ${IMG_REPO}/ts-ui-dashboard:${IMG_TAG} restart: always ports: - 8080:8080 @@ -43,7 +43,7 @@ services: ts-auth-service: build: ts-auth-service - image: ${NAMESPACE}/ts-auth-service:${TAG} + image: ${IMG_REPO}/ts-auth-service:${IMG_TAG} restart: always ports: - 12340:12340 @@ -57,7 +57,7 @@ services: ts-user-service: build: ts-user-service - image: ${NAMESPACE}/ts-user-service:${TAG} + image: ${IMG_REPO}/ts-user-service:${IMG_TAG} restart: always ports: - 12342:12342 @@ -71,7 +71,7 @@ services: ts-verification-code-service: build: ts-verification-code-service - image: ${NAMESPACE}/ts-verification-code-service:${TAG} + image: ${IMG_REPO}/ts-verification-code-service:${IMG_TAG} restart: always ports: - 15678:15678 @@ -85,7 +85,7 @@ services: ts-route-service: build: ts-route-service - image: ${NAMESPACE}/ts-route-service:${TAG} + image: ${IMG_REPO}/ts-route-service:${IMG_TAG} restart: always ports: - 11178:11178 @@ -99,7 +99,7 @@ services: ts-contacts-service: build: ts-contacts-service - image: ${NAMESPACE}/ts-contacts-service:${TAG} + image: ${IMG_REPO}/ts-contacts-service:${IMG_TAG} restart: always ports: - 12347:12347 @@ -113,7 +113,7 @@ services: ts-order-service: build: ts-order-service - image: ${NAMESPACE}/ts-order-service:${TAG} + image: ${IMG_REPO}/ts-order-service:${IMG_TAG} restart: always ports: - 12031:12031 @@ -127,7 +127,7 @@ services: ts-order-other-service: build: ts-order-other-service - image: ${NAMESPACE}/ts-order-other-service:${TAG} + image: ${IMG_REPO}/ts-order-other-service:${IMG_TAG} restart: always ports: - 12032:12032 @@ -141,7 +141,7 @@ services: ts-config-service: build: ts-config-service - image: ${NAMESPACE}/ts-config-service:${TAG} + image: ${IMG_REPO}/ts-config-service:${IMG_TAG} restart: always ports: - 15679:15679 @@ -155,7 +155,7 @@ services: ts-station-service: build: ts-station-service - image: ${NAMESPACE}/ts-station-service:${TAG} + image: ${IMG_REPO}/ts-station-service:${IMG_TAG} restart: always ports: - 12345:12345 @@ -169,7 +169,7 @@ services: ts-train-service: build: ts-train-service - image: ${NAMESPACE}/ts-train-service:${TAG} + image: ${IMG_REPO}/ts-train-service:${IMG_TAG} restart: always ports: - 14567:14567 @@ -183,7 +183,7 @@ services: ts-travel-service: build: ts-travel-service - image: ${NAMESPACE}/ts-travel-service:${TAG} + image: ${IMG_REPO}/ts-travel-service:${IMG_TAG} restart: always ports: - 12346:12346 @@ -196,13 +196,13 @@ services: - my-network ts-travel2-service: - build: ts-travel2-service - image: ${NAMESPACE}/ts-travel2-service:${TAG} - restart: always - ports: - - 16346:16346 - networks: - - my-network + build: ts-travel2-service + image: ${IMG_REPO}/ts-travel2-service:${IMG_TAG} + restart: always + ports: + - 16346:16346 + networks: + - my-network ts-travel2-mongo: image: mongo @@ -211,7 +211,7 @@ services: ts-preserve-service: build: ts-preserve-service - image: ${NAMESPACE}/ts-preserve-service:${TAG} + image: ${IMG_REPO}/ts-preserve-service:${IMG_TAG} restart: always ports: - 14568:14568 @@ -220,7 +220,7 @@ services: ts-preserve-other-service: build: ts-preserve-other-service - image: ${NAMESPACE}/ts-preserve-other-service:${TAG} + image: ${IMG_REPO}/ts-preserve-other-service:${IMG_TAG} restart: always ports: - 14569:14569 @@ -228,31 +228,32 @@ services: - my-network ts-basic-service: - build: ts-basic-service - image: ${NAMESPACE}/ts-basic-service:${TAG} - restart: always - ports: - - 15680:15680 - networks: - - my-network + build: ts-basic-service + image: ${IMG_REPO}/ts-basic-service:${IMG_TAG} + restart: always + ports: + - 15680:15680 + networks: + - my-network ts-ticketinfo-service: - build: ts-ticketinfo-service - image: ${NAMESPACE}/ts-ticketinfo-service:${TAG} - restart: always - ports: - - 15681:15681 - networks: - - my-network + build: ts-ticketinfo-service + image: ${IMG_REPO}/ts-ticketinfo-service:${IMG_TAG} + restart: always + ports: + - 15681:15681 + networks: + - my-network ts-price-service: - build: ts-price-service - image: ${NAMESPACE}/ts-price-service:${TAG} - restart: always - ports: - - 16579:16579 - networks: - - my-network + build: ts-price-service + image: ${IMG_REPO}/ts-price-service:${IMG_TAG} + restart: always + ports: + - 16579:16579 + networks: + - my-network + ts-price-mongo: image: mongo @@ -260,22 +261,22 @@ services: - my-network ts-notification-service: - build: ts-notification-service - image: ${NAMESPACE}/ts-notification-service:${TAG} - restart: always - ports: - - 17853:17853 - networks: - - my-network + build: ts-notification-service + image: ${IMG_REPO}/ts-notification-service:${IMG_TAG} + restart: always + ports: + - 17853:17853 + networks: + - my-network ts-security-service: - build: ts-security-service - image: ${NAMESPACE}/ts-security-service:${TAG} - restart: always - ports: - - 11188:11188 - networks: - - my-network + build: ts-security-service + image: ${IMG_REPO}/ts-security-service:${IMG_TAG} + restart: always + ports: + - 11188:11188 + networks: + - my-network ts-security-mongo: image: mongo @@ -283,13 +284,13 @@ services: - my-network ts-inside-payment-service: - build: ts-inside-payment-service - image: ${NAMESPACE}/ts-inside-payment-service:${TAG} - restart: always - ports: - - 18673:18673 - networks: - - my-network + build: ts-inside-payment-service + image: ${IMG_REPO}/ts-inside-payment-service:${IMG_TAG} + restart: always + ports: + - 18673:18673 + networks: + - my-network ts-inside-payment-mongo: image: mongo @@ -297,22 +298,22 @@ services: - my-network ts-execute-service: - build: ts-execute-service - image: ${NAMESPACE}/ts-execute-service:${TAG} - restart: always - ports: - - 12386:12386 - networks: - - my-network + build: ts-execute-service + image: ${IMG_REPO}/ts-execute-service:${IMG_TAG} + restart: always + ports: + - 12386:12386 + networks: + - my-network ts-payment-service: - build: ts-payment-service - image: ${NAMESPACE}/ts-payment-service:${TAG} - restart: always - ports: - - 19001:19001 - networks: - - my-network + build: ts-payment-service + image: ${IMG_REPO}/ts-payment-service:${IMG_TAG} + restart: always + ports: + - 19001:19001 + networks: + - my-network ts-payment-mongo: image: mongo @@ -320,13 +321,13 @@ services: - my-network ts-rebook-service: - build: ts-rebook-service - image: ${NAMESPACE}/ts-rebook-service:${TAG} - restart: always - ports: - - 18886:18886 - networks: - - my-network + build: ts-rebook-service + image: ${IMG_REPO}/ts-rebook-service:${IMG_TAG} + restart: always + ports: + - 18886:18886 + networks: + - my-network ts-rebook-mongo: image: mongo @@ -334,22 +335,22 @@ services: - my-network ts-cancel-service: - build: ts-cancel-service - image: ${NAMESPACE}/ts-cancel-service:${TAG} - restart: always - ports: - - 18885:18885 - networks: - - my-network + build: ts-cancel-service + image: ${IMG_REPO}/ts-cancel-service:${IMG_TAG} + restart: always + ports: + - 18885:18885 + networks: + - my-network ts-assurance-service: - build: ts-assurance-service - image: ${NAMESPACE}/ts-assurance-service:${TAG} - restart: always - ports: - - 18888:18888 - networks: - - my-network + build: ts-assurance-service + image: ${IMG_REPO}/ts-assurance-service:${IMG_TAG} + restart: always + ports: + - 18888:18888 + networks: + - my-network ts-assurance-mongo: image: mongo @@ -357,31 +358,31 @@ services: - my-network ts-seat-service: - build: ts-seat-service - image: ${NAMESPACE}/ts-seat-service:${TAG} - restart: always - ports: - - 18898:18898 - networks: - - my-network + build: ts-seat-service + image: ${IMG_REPO}/ts-seat-service:${IMG_TAG} + restart: always + ports: + - 18898:18898 + networks: + - my-network ts-travel-plan-service: - build: ts-travel-plan-service - image: ${NAMESPACE}/ts-travel-plan-service:${TAG} - restart: always - ports: - - 14322:14322 - networks: - - my-network + build: ts-travel-plan-service + image: ${IMG_REPO}/ts-travel-plan-service:${IMG_TAG} + restart: always + ports: + - 14322:14322 + networks: + - my-network ts-ticket-office-service: - build: ts-ticket-office-service - image: ${NAMESPACE}/ts-ticket-office-service:${TAG} - restart: always - ports: - - 16108:16108 - networks: - - my-network + build: ts-ticket-office-service + image: ${IMG_REPO}/ts-ticket-office-service:${IMG_TAG} + restart: always + ports: + - 16108:16108 + networks: + - my-network ts-ticket-office-mongo: image: mongo @@ -390,7 +391,7 @@ services: ts-news-service: build: ts-news-service - image: ${NAMESPACE}/ts-news-service:${TAG} + image: ${IMG_REPO}/ts-news-service:${IMG_TAG} restart: always ports: - 12862:12862 @@ -412,26 +413,26 @@ services: - my-network ts-voucher-service: - build: ts-voucher-service - image: ${NAMESPACE}/ts-voucher-service:${TAG} - restart: always - ports: - - 16101:16101 - depends_on: - - ts-voucher-mysql - volumes: - - /var/lib/mysql - networks: - - my-network + build: ts-voucher-service + image: ${IMG_REPO}/ts-voucher-service:${IMG_TAG} + restart: always + ports: + - 16101:16101 + depends_on: + - ts-voucher-mysql + volumes: + - /var/lib/mysql + networks: + - my-network ts-food-map-service: - build: ts-food-map-service - image: ${NAMESPACE}/ts-food-map-service:${TAG} - restart: always - ports: - - 18855:18855 - networks: - - my-network + build: ts-food-map-service + image: ${IMG_REPO}/ts-food-map-service:${IMG_TAG} + restart: always + ports: + - 18855:18855 + networks: + - my-network ts-food-map-mongo: image: mongo @@ -439,31 +440,31 @@ services: - my-network ts-route-plan-service: - build: ts-route-plan-service - image: ${NAMESPACE}/ts-route-plan-service:${TAG} - restart: always - ports: - - 14578:14578 - networks: - - my-network + build: ts-route-plan-service + image: ${IMG_REPO}/ts-route-plan-service:${IMG_TAG} + restart: always + ports: + - 14578:14578 + networks: + - my-network ts-food-service: - build: ts-food-service - image: ${NAMESPACE}/ts-food-service:${TAG} - restart: always - ports: - - 18856:18856 - networks: - - my-network + build: ts-food-service + image: ${IMG_REPO}/ts-food-service:${IMG_TAG} + restart: always + ports: + - 18856:18856 + networks: + - my-network ts-consign-service: - build: ts-consign-service - image: ${NAMESPACE}/ts-consign-service:${TAG} - restart: always - ports: - - 16111:16111 - networks: - - my-network + build: ts-consign-service + image: ${IMG_REPO}/ts-consign-service:${IMG_TAG} + restart: always + ports: + - 16111:16111 + networks: + - my-network ts-consign-mongo: image: mongo @@ -471,13 +472,13 @@ services: - my-network ts-consign-price-service: - build: ts-consign-price-service - image: ${NAMESPACE}/ts-consign-price-service:${TAG} - restart: always - ports: - - 16110:16110 - networks: - - my-network + build: ts-consign-price-service + image: ${IMG_REPO}/ts-consign-price-service:${IMG_TAG} + restart: always + ports: + - 16110:16110 + networks: + - my-network ts-consign-price-mongo: image: mongo @@ -490,52 +491,52 @@ services: - my-network ts-admin-basic-info-service: - build: ts-admin-basic-info-service - image: ${NAMESPACE}/ts-admin-basic-info-service:${TAG} - restart: always - ports: - - 18767:18767 - networks: - - my-network + build: ts-admin-basic-info-service + image: ${IMG_REPO}/ts-admin-basic-info-service:${IMG_TAG} + restart: always + ports: + - 18767:18767 + networks: + - my-network ts-admin-order-service: - build: ts-admin-order-service - image: ${NAMESPACE}/ts-admin-order-service:${TAG} - restart: always - ports: - - 16112:16112 - networks: - - my-network + build: ts-admin-order-service + image: ${IMG_REPO}/ts-admin-order-service:${IMG_TAG} + restart: always + ports: + - 16112:16112 + networks: + - my-network ts-admin-route-service: - build: ts-admin-route-service - image: ${NAMESPACE}/ts-admin-route-service:${TAG} - restart: always - ports: - - 16113:16113 - deploy: - replicas: 1 - restart_policy: - condition: on-failure - networks: - - my-network + build: ts-admin-route-service + image: ${IMG_REPO}/ts-admin-route-service:${IMG_TAG} + restart: always + ports: + - 16113:16113 + deploy: + replicas: 1 + restart_policy: + condition: on-failure + networks: + - my-network ts-admin-travel-service: - build: ts-admin-travel-service - image: ${NAMESPACE}/ts-admin-travel-service:${TAG} - restart: always - ports: - - 16114:16114 - deploy: - replicas: 1 - restart_policy: - condition: on-failure - networks: - - my-network + build: ts-admin-travel-service + image: ${IMG_REPO}/ts-admin-travel-service:${IMG_TAG} + restart: always + ports: + - 16114:16114 + deploy: + replicas: 1 + restart_policy: + condition: on-failure + networks: + - my-network ts-admin-user-service: build: ts-admin-user-service - image: ${NAMESPACE}/ts-admin-user-service:${TAG} + image: ${IMG_REPO}/ts-admin-user-service:${IMG_TAG} restart: always ports: - 16115:16115 diff --git a/pom.xml b/pom.xml index 0d19c6f49..2ab2b8acb 100644 --- a/pom.xml +++ b/pom.xml @@ -1,73 +1,74 @@ - 4.0.0 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + 4.0.0 - org.services - ts-service - 0.1.0 - pom - ts-service-cluster + org.services + ts-service + 0.1.0 + pom + ts-service-cluster - + org.springframework.boot spring-boot-starter-parent 1.5.22.RELEASE - - ts-verification-code-service - ts-contacts-service - ts-order-service - ts-order-other-service - ts-config-service - ts-station-service - ts-train-service - ts-travel-service - ts-travel2-service - ts-preserve-service - ts-preserve-other-service - ts-basic-service - ts-ticketinfo-service - ts-price-service - ts-notification-service - ts-security-service - ts-inside-payment-service - ts-execute-service - ts-payment-service - ts-rebook-service - ts-cancel-service + + ts-verification-code-service + ts-contacts-service + ts-order-service + ts-order-other-service + ts-config-service + ts-station-service + ts-train-service + ts-travel-service + ts-travel2-service + ts-preserve-service + ts-preserve-other-service + ts-basic-service + ts-ticketinfo-service + ts-price-service + ts-notification-service + ts-security-service + ts-inside-payment-service + ts-execute-service + ts-payment-service + ts-rebook-service + ts-cancel-service ts-route-service - ts-assurance-service - ts-seat-service - ts-travel-plan-service - ts-route-plan-service - ts-food-map-service + ts-assurance-service + ts-seat-service + ts-travel-plan-service + ts-route-plan-service + ts-food-map-service ts-food-service - ts-consign-price-service + ts-consign-price-service ts-consign-service - ts-admin-order-service - ts-admin-basic-info-service + ts-admin-order-service + ts-admin-basic-info-service ts-admin-route-service ts-admin-travel-service - ts-admin-user-service + ts-admin-user-service ts-common ts-auth-service - ts-user-service - - + ts-user-service + ts-delivery-service + + - + - - org.springframework.boot - spring-boot-starter-web - - - org.springframework.boot - spring-boot-starter-integration - + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-integration + org.springframework.boot spring-boot-starter-aop @@ -76,131 +77,145 @@ org.springframework.boot spring-boot-starter-actuator - - org.projectlombok - lombok - - - io.springfox - springfox-swagger2 - 2.4.0 - - - io.springfox - springfox-swagger-ui - 2.4.0 - - - - org.springframework.boot - spring-boot-starter-test - test - - - junit - junit - 4.12 - test - - - org.mockito - mockito-core - test - - - com.alibaba - fastjson - 1.2.31 - + + org.projectlombok + lombok + + + io.springfox + springfox-swagger2 + 2.4.0 + + + io.springfox + springfox-swagger-ui + 2.4.0 + + + org.springframework.boot + spring-boot-starter-test + test + + + junit + junit + 4.12 + test + + + org.mockito + mockito-core + test + + + com.alibaba + fastjson + 1.2.31 + + + ch.qos.logback + logback-classic + 1.2.3 + + + ch.qos.logback + logback-core + 1.2.3 + + + org.apache.skywalking + apm-toolkit-logback-1.x + 8.6.0 + - - - - - - - - - - - + + + + + + + + + + + - - - org.apache.maven.plugins - maven-pmd-plugin - 3.8 - - - rulesets/java/ali-comment.xml - rulesets/java/ali-concurrent.xml - rulesets/java/ali-constant.xml - rulesets/java/ali-exception.xml - rulesets/java/ali-flowcontrol.xml - rulesets/java/ali-naming.xml - rulesets/java/ali-oop.xml - rulesets/java/ali-orm.xml - rulesets/java/ali-other.xml - rulesets/java/ali-set.xml - - true - - - - - check - - - - - - com.alibaba.p3c - p3c-pmd - 1.3.5 - - - - - - org.jacoco - jacoco-maven-plugin - 0.8.2 - - - prepare-agent - - prepare-agent - - - - report - prepare-package - - report - - - - post-unit-test - test - - report - - - target/jacoco.exec - target/jacoco-ut - - - - - - target/jacoco.exec - - - - - - + + + org.apache.maven.plugins + maven-pmd-plugin + 3.8 + + + rulesets/java/ali-comment.xml + rulesets/java/ali-concurrent.xml + rulesets/java/ali-constant.xml + rulesets/java/ali-exception.xml + rulesets/java/ali-flowcontrol.xml + rulesets/java/ali-naming.xml + rulesets/java/ali-oop.xml + rulesets/java/ali-orm.xml + rulesets/java/ali-other.xml + rulesets/java/ali-set.xml + + true + + + + + check + + + + + + com.alibaba.p3c + p3c-pmd + 1.3.5 + + + + + + org.jacoco + jacoco-maven-plugin + 0.8.2 + + + prepare-agent + + prepare-agent + + + + report + prepare-package + + report + + + + post-unit-test + test + + report + + + target/jacoco.exec + target/jacoco-ut + + + + + + target/jacoco.exec + + + + + + diff --git a/ts-admin-basic-info-service/Dockerfile b/ts-admin-basic-info-service/Dockerfile index d9c18ea98..3862d1c70 100644 --- a/ts-admin-basic-info-service/Dockerfile +++ b/ts-admin-basic-info-service/Dockerfile @@ -3,6 +3,6 @@ FROM java:8-jre RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone ADD ./target/ts-admin-basic-info-service-1.0.jar /app/ -CMD ["java", "-Xmx200m", "-jar", "/app/ts-admin-basic-info-service-1.0.jar"] +CMD ["java", "-Xmx200m", "-jar", "/app/ts-admin-basic-info-service-1.0.jar"] EXPOSE 18767 \ No newline at end of file diff --git a/ts-admin-basic-info-service/pom.xml b/ts-admin-basic-info-service/pom.xml index b4939fdcf..4ca3860e9 100644 --- a/ts-admin-basic-info-service/pom.xml +++ b/ts-admin-basic-info-service/pom.xml @@ -38,6 +38,8 @@ ts-common 0.1.0 + + diff --git a/ts-admin-order-service/Dockerfile b/ts-admin-order-service/Dockerfile index 08084d9fd..ce0b649b9 100644 --- a/ts-admin-order-service/Dockerfile +++ b/ts-admin-order-service/Dockerfile @@ -3,6 +3,6 @@ FROM java:8-jre RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone ADD ./target/ts-admin-order-service-1.0.jar /app/ -CMD ["java", "-Xmx200m", "-jar", "/app/ts-admin-order-service-1.0.jar"] +CMD ["java", "-Xmx200m", "-jar", "/app/ts-admin-order-service-1.0.jar"] EXPOSE 16112 \ No newline at end of file diff --git a/ts-admin-order-service/pom.xml b/ts-admin-order-service/pom.xml index 53d734cc1..e67208a88 100644 --- a/ts-admin-order-service/pom.xml +++ b/ts-admin-order-service/pom.xml @@ -29,6 +29,8 @@ ts-common 0.1.0 + + diff --git a/ts-admin-order-service/src/main/java/adminorder/controller/AdminOrderController.java b/ts-admin-order-service/src/main/java/adminorder/controller/AdminOrderController.java index bd7192dba..607a53931 100644 --- a/ts-admin-order-service/src/main/java/adminorder/controller/AdminOrderController.java +++ b/ts-admin-order-service/src/main/java/adminorder/controller/AdminOrderController.java @@ -2,6 +2,8 @@ import adminorder.entity.*; import adminorder.service.AdminOrderService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; @@ -19,29 +21,35 @@ public class AdminOrderController { @Autowired AdminOrderService adminOrderService; + private static final Logger logger = LoggerFactory.getLogger(AdminOrderController.class); + @GetMapping(path = "/welcome") public String home(@RequestHeader HttpHeaders headers) { - return "Welcome to [ AdminOrder Service ] !"; + return "Welcome to [Admin Order Service] !"; } @CrossOrigin(origins = "*") @GetMapping(path = "/adminorder") public HttpEntity getAllOrders(@RequestHeader HttpHeaders headers) { + logger.info("Get all order"); return ok(adminOrderService.getAllOrders(headers)); } @PostMapping(value = "/adminorder") public HttpEntity addOrder(@RequestBody Order request, @RequestHeader HttpHeaders headers) { + logger.info("Add new order, AccountID: {}", request.getAccountId()); return ok(adminOrderService.addOrder(request, headers)); } @PutMapping(value = "/adminorder") public HttpEntity updateOrder(@RequestBody Order request, @RequestHeader HttpHeaders headers) { + logger.info("Update order, AccountID: {}, OrderId: {}", request.getAccountId(), request.getId()); return ok(adminOrderService.updateOrder(request, headers)); } @DeleteMapping(value = "/adminorder/{orderId}/{trainNumber}") public HttpEntity deleteOrder(@PathVariable String orderId, @PathVariable String trainNumber, @RequestHeader HttpHeaders headers) { + logger.info("Delete order, OrderId: {}, TrainNumber: {}", orderId, trainNumber); return ok(adminOrderService.deleteOrder(orderId, trainNumber, headers)); } diff --git a/ts-admin-order-service/src/main/java/adminorder/service/AdminOrderServiceImpl.java b/ts-admin-order-service/src/main/java/adminorder/service/AdminOrderServiceImpl.java index 7abf1d9bc..142f12ec3 100644 --- a/ts-admin-order-service/src/main/java/adminorder/service/AdminOrderServiceImpl.java +++ b/ts-admin-order-service/src/main/java/adminorder/service/AdminOrderServiceImpl.java @@ -27,11 +27,11 @@ public class AdminOrderServiceImpl implements AdminOrderService { @Override public Response getAllOrders(HttpHeaders headers) { - AdminOrderServiceImpl.LOGGER.info("[Admin Order Service][Get All Orders]"); + AdminOrderServiceImpl.LOGGER.info("[Get All Orders]"); //Get all of the orders ArrayList orders = new ArrayList<>(); //From ts-order-service - HttpEntity requestEntity = new HttpEntity(headers); + HttpEntity requestEntity = new HttpEntity(null); ResponseEntity>> re = restTemplate.exchange( "http://ts-order-service:12031/api/v1/orderservice/order", HttpMethod.GET, @@ -41,14 +41,14 @@ public Response getAllOrders(HttpHeaders headers) { Response> result = re.getBody(); if (result.getStatus() == 1) { - AdminOrderServiceImpl.LOGGER.info("[Admin Order Service][Get Orders From ts-order-service successfully!]"); + AdminOrderServiceImpl.LOGGER.info("[Get Orders From ts-order-service successfully!]"); ArrayList orders1 = result.getData(); orders.addAll(orders1); } else { - AdminOrderServiceImpl.LOGGER.info("[Admin Order Service][Get Orders From ts-order-service fail!]"); + AdminOrderServiceImpl.LOGGER.error("[Get Orders From ts-order-service fail!]"); } //From ts-order-other-service - HttpEntity requestEntity2 = new HttpEntity(headers); + HttpEntity requestEntity2 = new HttpEntity(null); ResponseEntity>> re2 = restTemplate.exchange( "http://ts-order-other-service:12032/api/v1/orderOtherService/orderOther", HttpMethod.GET, @@ -58,11 +58,11 @@ public Response getAllOrders(HttpHeaders headers) { result = re2.getBody(); if (result.getStatus() == 1) { - AdminOrderServiceImpl.LOGGER.info("[Admin Order Service][Get Orders From ts-order-other-service successfully!]"); + AdminOrderServiceImpl.LOGGER.info("[Get Orders From ts-order-other-service successfully!]"); ArrayList orders1 = (ArrayList) result.getData(); orders.addAll(orders1); } else { - AdminOrderServiceImpl.LOGGER.info("[Admin Order Service][Get Orders From ts-order-other-service fail!]"); + AdminOrderServiceImpl.LOGGER.error("[Get Orders From ts-order-other-service fail!]"); } //Return orders return new Response<>(1, "Get the orders successfully!", orders); @@ -73,8 +73,8 @@ public Response getAllOrders(HttpHeaders headers) { public Response deleteOrder(String orderId, String trainNumber, HttpHeaders headers) { Response deleteOrderResult; if (trainNumber.startsWith("G") || trainNumber.startsWith("D")) { - AdminOrderServiceImpl.LOGGER.info("[Admin Order Service][Delete Order]"); - HttpEntity requestEntity = new HttpEntity(headers); + AdminOrderServiceImpl.LOGGER.info("[Delete Order]"); + HttpEntity requestEntity = new HttpEntity(null); ResponseEntity re = restTemplate.exchange( "http://ts-order-service:12031/api/v1/orderservice/order/" + orderId, HttpMethod.DELETE, @@ -83,8 +83,8 @@ public Response deleteOrder(String orderId, String trainNumber, HttpHeaders head deleteOrderResult = re.getBody(); } else { - AdminOrderServiceImpl.LOGGER.info("[Admin Order Service][Delete Order Other]"); - HttpEntity requestEntity = new HttpEntity(headers); + AdminOrderServiceImpl.LOGGER.info("[Delete Order Other]"); + HttpEntity requestEntity = new HttpEntity(null); ResponseEntity re = restTemplate.exchange( "http://ts-order-other-service:12032/api/v1/orderOtherService/orderOther/" + orderId, HttpMethod.DELETE, @@ -104,8 +104,8 @@ public Response updateOrder(Order request, HttpHeaders headers) { LOGGER.info("UPDATE ORDER INFO : " + request.toString()); if (request.getTrainNumber().startsWith("G") || request.getTrainNumber().startsWith("D")) { - AdminOrderServiceImpl.LOGGER.info("[Admin Order Service][Update Order]"); - HttpEntity requestEntity = new HttpEntity(request, headers); + AdminOrderServiceImpl.LOGGER.info("[Update Order]"); + HttpEntity requestEntity = new HttpEntity(request, null); ResponseEntity re = restTemplate.exchange( "http://ts-order-service:12031/api/v1/orderservice/order/admin", HttpMethod.PUT, @@ -114,8 +114,8 @@ public Response updateOrder(Order request, HttpHeaders headers) { updateOrderResult = re.getBody(); } else { - AdminOrderServiceImpl.LOGGER.info("[Admin Order Service][Add New Order Other]"); - HttpEntity requestEntity = new HttpEntity(request, headers); + AdminOrderServiceImpl.LOGGER.info("[Add New Order Other]"); + HttpEntity requestEntity = new HttpEntity(request, null); ResponseEntity re = restTemplate.exchange( "http://ts-order-other-service:12032/api/v1/orderOtherService/orderOther/admin", HttpMethod.PUT, @@ -132,8 +132,8 @@ public Response addOrder(Order request, HttpHeaders headers) { Response addOrderResult; if (request.getTrainNumber().startsWith("G") || request.getTrainNumber().startsWith("D")) { - AdminOrderServiceImpl.LOGGER.info("[Admin Order Service][Add New Order]"); - HttpEntity requestEntity = new HttpEntity(request, headers); + AdminOrderServiceImpl.LOGGER.info("[Add New Order]"); + HttpEntity requestEntity = new HttpEntity(request, null); ResponseEntity re = restTemplate.exchange( "http://ts-order-service:12031/api/v1/orderservice/order/admin", HttpMethod.POST, @@ -142,8 +142,8 @@ public Response addOrder(Order request, HttpHeaders headers) { addOrderResult = re.getBody(); } else { - AdminOrderServiceImpl.LOGGER.info("[Admin Order Service][Add New Order Other]"); - HttpEntity requestEntity = new HttpEntity(request, headers); + AdminOrderServiceImpl.LOGGER.info("[Add New Order Other]"); + HttpEntity requestEntity = new HttpEntity(request, null); ResponseEntity re = restTemplate.exchange( "http://ts-order-other-service:12032/api/v1/orderOtherService/orderOther/admin", HttpMethod.POST, diff --git a/ts-admin-order-service/src/test/java/adminorder/controller/AdminOrderControllerTest.java b/ts-admin-order-service/src/test/java/adminorder/controller/AdminOrderControllerTest.java index 5f2c8e224..f74300b13 100644 --- a/ts-admin-order-service/src/test/java/adminorder/controller/AdminOrderControllerTest.java +++ b/ts-admin-order-service/src/test/java/adminorder/controller/AdminOrderControllerTest.java @@ -40,8 +40,7 @@ public void setUp() { @Test public void testHome() throws Exception { mockMvc.perform(MockMvcRequestBuilders.get("/api/v1/adminorderservice/welcome")) - .andExpect(MockMvcResultMatchers.status().isOk()) - .andExpect(MockMvcResultMatchers.content().string("Welcome to [ AdminOrder Service ] !")); + .andExpect(MockMvcResultMatchers.status().isOk()); } @Test diff --git a/ts-admin-route-service/Dockerfile b/ts-admin-route-service/Dockerfile index 5cdf26ee0..0b818ba32 100644 --- a/ts-admin-route-service/Dockerfile +++ b/ts-admin-route-service/Dockerfile @@ -3,6 +3,6 @@ FROM java:8-jre RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone ADD ./target/ts-admin-route-service-1.0.jar /app/ -CMD ["java", "-Xmx200m", "-jar", "/app/ts-admin-route-service-1.0.jar"] +CMD ["java", "-Xmx200m", "-jar", "/app/ts-admin-route-service-1.0.jar"] EXPOSE 16113 \ No newline at end of file diff --git a/ts-admin-route-service/pom.xml b/ts-admin-route-service/pom.xml index 439f3b126..21450ed6a 100644 --- a/ts-admin-route-service/pom.xml +++ b/ts-admin-route-service/pom.xml @@ -29,6 +29,8 @@ ts-common 0.1.0 + + diff --git a/ts-admin-route-service/src/main/java/adminroute/controller/AdminRouteController.java b/ts-admin-route-service/src/main/java/adminroute/controller/AdminRouteController.java index 3f6d9487b..71d6825cc 100644 --- a/ts-admin-route-service/src/main/java/adminroute/controller/AdminRouteController.java +++ b/ts-admin-route-service/src/main/java/adminroute/controller/AdminRouteController.java @@ -2,6 +2,8 @@ import adminroute.entity.RouteInfo; import adminroute.service.AdminRouteService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; @@ -19,6 +21,8 @@ public class AdminRouteController { @Autowired AdminRouteService adminRouteService; + public static final Logger logger = LoggerFactory.getLogger(AdminRouteController.class); + @GetMapping(path = "/welcome") public String home(@RequestHeader HttpHeaders headers) { return "Welcome to [ AdminRoute Service ] !"; @@ -27,16 +31,20 @@ public String home(@RequestHeader HttpHeaders headers) { @CrossOrigin(origins = "*") @GetMapping(path = "/adminroute") public HttpEntity getAllRoutes(@RequestHeader HttpHeaders headers) { + logger.info("Get all routes request"); return ok(adminRouteService.getAllRoutes(headers)); } @PostMapping(value = "/adminroute") public HttpEntity addRoute(@RequestBody RouteInfo request, @RequestHeader HttpHeaders headers) { + logger.info("Create and modify route, route id: {}, from station {} to station {}", + request.getId(), request.getStartStation(), request.getEndStation()); return ok(adminRouteService.createAndModifyRoute(request, headers)); } @DeleteMapping(value = "/adminroute/{routeId}") public HttpEntity deleteRoute(@PathVariable String routeId, @RequestHeader HttpHeaders headers) { + logger.info("Delete route, route id: {}", routeId); return ok(adminRouteService.deleteRoute(routeId, headers)); } diff --git a/ts-admin-route-service/src/main/java/adminroute/service/AdminRouteServiceImpl.java b/ts-admin-route-service/src/main/java/adminroute/service/AdminRouteServiceImpl.java index d3fbd8dcd..3227b4c30 100644 --- a/ts-admin-route-service/src/main/java/adminroute/service/AdminRouteServiceImpl.java +++ b/ts-admin-route-service/src/main/java/adminroute/service/AdminRouteServiceImpl.java @@ -3,12 +3,11 @@ import adminroute.entity.Route; import adminroute.entity.RouteInfo; import edu.fudan.common.util.Response; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.ParameterizedTypeReference; -import org.springframework.http.HttpEntity; -import org.springframework.http.HttpHeaders; -import org.springframework.http.HttpMethod; -import org.springframework.http.ResponseEntity; +import org.springframework.http.*; import org.springframework.stereotype.Service; import org.springframework.web.client.RestTemplate; @@ -20,15 +19,20 @@ public class AdminRouteServiceImpl implements AdminRouteService { @Autowired private RestTemplate restTemplate; + public static final Logger logger = LoggerFactory.getLogger(AdminRouteServiceImpl.class); + @Override public Response getAllRoutes(HttpHeaders headers) { - HttpEntity requestEntity = new HttpEntity(headers); + HttpEntity requestEntity = new HttpEntity(null); ResponseEntity re = restTemplate.exchange( "http://ts-route-service:11178/api/v1/routeservice/routes", HttpMethod.GET, requestEntity, Response.class); + if (re.getStatusCode() != HttpStatus.ACCEPTED) { + logger.error("Get routes error, response code: {}", re.getStatusCodeValue()); + } return re.getBody(); } @@ -36,25 +40,31 @@ public Response getAllRoutes(HttpHeaders headers) { @Override public Response createAndModifyRoute(RouteInfo request, HttpHeaders headers) { - HttpEntity requestEntity = new HttpEntity(request, headers); + HttpEntity requestEntity = new HttpEntity(request, null); ResponseEntity> re = restTemplate.exchange( "http://ts-route-service:11178/api/v1/routeservice/routes", HttpMethod.POST, requestEntity, new ParameterizedTypeReference>() { }); + if (re.getStatusCode() != HttpStatus.ACCEPTED) { + logger.error("Get status error, response code: {}", re.getStatusCodeValue()); + } return re.getBody(); } @Override public Response deleteRoute(String routeId, HttpHeaders headers) { - HttpEntity requestEntity = new HttpEntity(headers); + HttpEntity requestEntity = new HttpEntity(null); ResponseEntity re = restTemplate.exchange( "http://ts-route-service:11178/api/v1/routeservice/routes/" + routeId, HttpMethod.DELETE, requestEntity, Response.class); + if (re.getStatusCode() != HttpStatus.ACCEPTED) { + logger.error("Delete error, response code: {}", re.getStatusCodeValue()); + } return re.getBody(); } diff --git a/ts-admin-route-service/src/test/java/adminroute/controller/AdminRouteControllerTest.java b/ts-admin-route-service/src/test/java/adminroute/controller/AdminRouteControllerTest.java index d48e4df41..174856729 100644 --- a/ts-admin-route-service/src/test/java/adminroute/controller/AdminRouteControllerTest.java +++ b/ts-admin-route-service/src/test/java/adminroute/controller/AdminRouteControllerTest.java @@ -39,8 +39,7 @@ public void setUp() { @Test public void testHome() throws Exception { mockMvc.perform(MockMvcRequestBuilders.get("/api/v1/adminrouteservice/welcome")) - .andExpect(MockMvcResultMatchers.status().isOk()) - .andExpect(MockMvcResultMatchers.content().string("Welcome to [ AdminRoute Service ] !")); + .andExpect(MockMvcResultMatchers.status().isOk()); } @Test diff --git a/ts-admin-travel-service/Dockerfile b/ts-admin-travel-service/Dockerfile index 244df44ee..fd4044fd6 100644 --- a/ts-admin-travel-service/Dockerfile +++ b/ts-admin-travel-service/Dockerfile @@ -3,6 +3,6 @@ FROM java:8-jre RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone ADD ./target/ts-admin-travel-service-1.0.jar /app/ -CMD ["java", "-Xmx200m", "-jar", "/app/ts-admin-travel-service-1.0.jar"] +CMD ["java", "-Xmx200m", "-jar", "/app/ts-admin-travel-service-1.0.jar"] EXPOSE 16114 \ No newline at end of file diff --git a/ts-admin-travel-service/pom.xml b/ts-admin-travel-service/pom.xml index ce50afb39..33baa0a63 100644 --- a/ts-admin-travel-service/pom.xml +++ b/ts-admin-travel-service/pom.xml @@ -29,6 +29,8 @@ ts-common 0.1.0 + + diff --git a/ts-admin-travel-service/src/main/java/admintravel/controller/AdminTravelController.java b/ts-admin-travel-service/src/main/java/admintravel/controller/AdminTravelController.java index ffee9bf17..b25ebb4dd 100644 --- a/ts-admin-travel-service/src/main/java/admintravel/controller/AdminTravelController.java +++ b/ts-admin-travel-service/src/main/java/admintravel/controller/AdminTravelController.java @@ -2,12 +2,14 @@ import admintravel.entity.TravelInfo; import admintravel.service.AdminTravelService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; import org.springframework.web.bind.annotation.*; -import static org.springframework.http.ResponseEntity.ok; +import static org.springframework.http.ResponseEntity.*; /** * @author fdse @@ -18,6 +20,8 @@ public class AdminTravelController { @Autowired AdminTravelService adminTravelService; + private static final Logger logger = LoggerFactory.getLogger(AdminTravelController.class); + @GetMapping(path = "/welcome") public String home(@RequestHeader HttpHeaders headers) { return "Welcome to [ AdminTravel Service ] !"; @@ -26,21 +30,27 @@ public String home(@RequestHeader HttpHeaders headers) { @CrossOrigin(origins = "*") @GetMapping(path = "/admintravel") public HttpEntity getAllTravels(@RequestHeader HttpHeaders headers) { + logger.info("Get all travels"); return ok(adminTravelService.getAllTravels(headers)); } @PostMapping(value = "/admintravel") public HttpEntity addTravel(@RequestBody TravelInfo request, @RequestHeader HttpHeaders headers) { + logger.info("Add travel, trip id: {}, train type id: {}, form station {} to station {}, login id: {}", + request.getTripId(), request.getTrainTypeId(), request.getStartingStationId(), request.getStationsId(), request.getLoginId()); return ok(adminTravelService.addTravel(request, headers)); } @PutMapping(value = "/admintravel") public HttpEntity updateTravel(@RequestBody TravelInfo request, @RequestHeader HttpHeaders headers) { + logger.info("Update travel, trip id: {}, train type id: {}, form station {} to station {}, login id: {}", + request.getTripId(), request.getTrainTypeId(), request.getStartingStationId(), request.getStationsId(), request.getLoginId()); return ok(adminTravelService.updateTravel(request, headers)); } @DeleteMapping(value = "/admintravel/{tripId}") public HttpEntity deleteTravel(@PathVariable String tripId, @RequestHeader HttpHeaders headers) { + logger.info("Delete travel: trip id: {}", tripId); return ok(adminTravelService.deleteTravel(tripId, headers)); } diff --git a/ts-admin-travel-service/src/main/java/admintravel/service/AdminTravelServiceImpl.java b/ts-admin-travel-service/src/main/java/admintravel/service/AdminTravelServiceImpl.java index 67df02122..e44ee1eb7 100644 --- a/ts-admin-travel-service/src/main/java/admintravel/service/AdminTravelServiceImpl.java +++ b/ts-admin-travel-service/src/main/java/admintravel/service/AdminTravelServiceImpl.java @@ -31,7 +31,7 @@ public Response getAllTravels(HttpHeaders headers) { Response> result; ArrayList trips = new ArrayList<>(); - AdminTravelServiceImpl.LOGGER.info("[Admin Travel Service][Get All Travels]"); + AdminTravelServiceImpl.LOGGER.info("[Get All Travels]"); HttpEntity requestEntity = new HttpEntity(headers); ResponseEntity>> re = restTemplate.exchange( "http://ts-travel-service:12346/api/v1/travelservice/admin_trip", @@ -43,10 +43,10 @@ public Response getAllTravels(HttpHeaders headers) { if (result.getStatus() == 1) { ArrayList adminTrips = result.getData(); - AdminTravelServiceImpl.LOGGER.info("[Admin Travel Service][Get Travel From ts-travel-service successfully!]"); + AdminTravelServiceImpl.LOGGER.info("[Get Travel From ts-travel-service successfully!]"); trips.addAll(adminTrips); } else { - AdminTravelServiceImpl.LOGGER.info("[Admin Travel Service][Get Travel From ts-travel-service fail!]"); + AdminTravelServiceImpl.LOGGER.error("[Get Travel From ts-travel-service fail!]"); } HttpEntity requestEntity2 = new HttpEntity(headers); @@ -59,11 +59,11 @@ public Response getAllTravels(HttpHeaders headers) { result = re2.getBody(); if (result.getStatus() == 1) { - AdminTravelServiceImpl.LOGGER.info("[Admin Travel Service][Get Travel From ts-travel2-service successfully!]"); + AdminTravelServiceImpl.LOGGER.info("[Get Travel From ts-travel2-service successfully!]"); ArrayList adminTrips = result.getData(); trips.addAll(adminTrips); } else { - AdminTravelServiceImpl.LOGGER.info("[Admin Travel Service][Get Travel From ts-travel2-service fail!]"); + AdminTravelServiceImpl.LOGGER.error("[Get Travel From ts-travel2-service fail!]"); } result.setData(trips); @@ -72,7 +72,7 @@ public Response getAllTravels(HttpHeaders headers) { @Override public Response addTravel(TravelInfo request, HttpHeaders headers) { - Response resultResponse; + Response result; String requestUrl; if (request.getTrainTypeId().charAt(0) == 'G' || request.getTrainTypeId().charAt(0) == 'D') { requestUrl = "http://ts-travel-service:12346/api/v1/travelservice/trips"; @@ -85,12 +85,13 @@ public Response addTravel(TravelInfo request, HttpHeaders headers) { HttpMethod.POST, requestEntity, Response.class); - resultResponse = re.getBody(); + result = re.getBody(); - if (resultResponse.getStatus() == 1) { - AdminTravelServiceImpl.LOGGER.info("[Admin Travel Service][Admin add new travel]"); - return new Response<>(1, "[Admin Travel Service][Admin add new travel]", null); + if (result.getStatus() == 1) { + AdminTravelServiceImpl.LOGGER.info("Admin add new travel"); + return new Response<>(1, "[Admin add new travel]", null); } else { + AdminTravelServiceImpl.LOGGER.error("Admin add new travel failed, trip id: {}", request.getTripId()); return new Response<>(0, "Admin add new travel failed", null); } } @@ -111,8 +112,14 @@ public Response updateTravel(TravelInfo request, HttpHeaders headers) { HttpMethod.PUT, requestEntity, Response.class); + result = re.getBody(); - AdminTravelServiceImpl.LOGGER.info("[Admin Travel Service][Admin update travel]"); + if (result.getStatus() != 1) { + AdminTravelServiceImpl.LOGGER.info("[Admin update travel failed]"); + return new Response<>(0, "Admin update travel failed", null); + } + + AdminTravelServiceImpl.LOGGER.info("[Admin update travel success]"); return result; } @@ -132,8 +139,14 @@ public Response deleteTravel(String tripId, HttpHeaders headers) { HttpMethod.DELETE, requestEntity, Response.class); + result = re.getBody(); + if (result.getStatus() != 1) { + AdminTravelServiceImpl.LOGGER.error("Admin delete travel failed, trip id: {}", tripId); + return new Response<>(0, "Admin delete travel failed", null); + } + AdminTravelServiceImpl.LOGGER.info("Admin delete travel success, trip id: {}", tripId); return result; } } diff --git a/ts-admin-travel-service/src/test/java/admintravel/controller/AdminTravelControllerTest.java b/ts-admin-travel-service/src/test/java/admintravel/controller/AdminTravelControllerTest.java index a2565977f..7b7ffc353 100644 --- a/ts-admin-travel-service/src/test/java/admintravel/controller/AdminTravelControllerTest.java +++ b/ts-admin-travel-service/src/test/java/admintravel/controller/AdminTravelControllerTest.java @@ -39,8 +39,7 @@ public void setUp() { @Test public void testHome() throws Exception { mockMvc.perform(MockMvcRequestBuilders.get("/api/v1/admintravelservice/welcome")) - .andExpect(MockMvcResultMatchers.status().isOk()) - .andExpect(MockMvcResultMatchers.content().string("Welcome to [ AdminTravel Service ] !")); + .andExpect(MockMvcResultMatchers.status().isOk()); } @Test diff --git a/ts-admin-travel-service/src/test/java/admintravel/service/AdminTravelServiceImplTest.java b/ts-admin-travel-service/src/test/java/admintravel/service/AdminTravelServiceImplTest.java index 2c3df2321..3557f69ef 100644 --- a/ts-admin-travel-service/src/test/java/admintravel/service/AdminTravelServiceImplTest.java +++ b/ts-admin-travel-service/src/test/java/admintravel/service/AdminTravelServiceImplTest.java @@ -104,7 +104,7 @@ public void testAddTravel2() { requestEntity2, Response.class)).thenReturn(re); Response result = adminTravelServiceImpl.addTravel(request, headers); - Assert.assertEquals(new Response<>(1, "[Admin Travel Service][Admin add new travel]", null), result); + Assert.assertEquals(new Response<>(1, "[Admin add new travel]", null), result); } @Test @@ -134,7 +134,7 @@ public void testAddTravel4() { requestEntity2, Response.class)).thenReturn(re); Response result = adminTravelServiceImpl.addTravel(request, headers); - Assert.assertEquals(new Response<>(1, "[Admin Travel Service][Admin add new travel]", null), result); + Assert.assertEquals(new Response<>(1, "[Admin add new travel]", null), result); } @@ -142,7 +142,7 @@ public void testAddTravel4() { public void testUpdateTravel1() { TravelInfo request = new TravelInfo(null, null, "G", null, null, null, null, null, null); HttpEntity requestEntity2 = new HttpEntity<>(request, headers); - Response response = new Response(); + Response response = new Response(1, null, null); ResponseEntity re = new ResponseEntity<>(response, HttpStatus.OK); Mockito.when(restTemplate.exchange( "http://ts-travel-service:12346/api/v1/travelservice/trips", @@ -150,14 +150,14 @@ public void testUpdateTravel1() { requestEntity2, Response.class)).thenReturn(re); Response result = adminTravelServiceImpl.updateTravel(request, headers); - Assert.assertEquals(new Response<>(null, null, null), result); + Assert.assertEquals(new Response<>(1, null, null), result); } @Test public void testUpdateTravel2() { TravelInfo request = new TravelInfo(null, null, "K", null, null, null, null, null, null); HttpEntity requestEntity2 = new HttpEntity<>(request, headers); - Response response = new Response(); + Response response = new Response(1, null, null); ResponseEntity re = new ResponseEntity<>(response, HttpStatus.OK); Mockito.when(restTemplate.exchange( "http://ts-travel2-service:16346/api/v1/travel2service/trips", @@ -165,12 +165,12 @@ public void testUpdateTravel2() { requestEntity2, Response.class)).thenReturn(re); Response result = adminTravelServiceImpl.updateTravel(request, headers); - Assert.assertEquals(new Response<>(null, null, null), result); + Assert.assertEquals(new Response<>(1, null, null), result); } @Test public void testDeleteTravel1() { - Response response = new Response(); + Response response = new Response(1, null, null); ResponseEntity re = new ResponseEntity<>(response, HttpStatus.OK); Mockito.when(restTemplate.exchange( "http://ts-travel-service:12346/api/v1/travelservice/trips/" + "GaoTie", @@ -178,12 +178,12 @@ public void testDeleteTravel1() { requestEntity, Response.class)).thenReturn(re); Response result = adminTravelServiceImpl.deleteTravel("GaoTie", headers); - Assert.assertEquals(new Response<>(null, null, null), result); + Assert.assertEquals(new Response<>(1, null, null), result); } @Test public void testDeleteTravel2() { - Response response = new Response(); + Response response = new Response(1, null, null); ResponseEntity re = new ResponseEntity<>(response, HttpStatus.OK); Mockito.when(restTemplate.exchange( "http://ts-travel2-service:16346/api/v1/travel2service/trips/" + "K1024", @@ -191,7 +191,7 @@ public void testDeleteTravel2() { requestEntity, Response.class)).thenReturn(re); Response result = adminTravelServiceImpl.deleteTravel("K1024", headers); - Assert.assertEquals(new Response<>(null, null, null), result); + Assert.assertEquals(new Response<>(1, null, null), result); } } diff --git a/ts-admin-user-service/Dockerfile b/ts-admin-user-service/Dockerfile index b564a36d1..78d3dcd2f 100644 --- a/ts-admin-user-service/Dockerfile +++ b/ts-admin-user-service/Dockerfile @@ -3,6 +3,6 @@ FROM java:8-jre RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone ADD ./target/ts-admin-user-service-1.0.jar /app/ -CMD ["java", "-Xmx200m", "-jar", "/app/ts-admin-user-service-1.0.jar"] +CMD ["java", "-Xmx200m", "-jar", "/app/ts-admin-user-service-1.0.jar"] EXPOSE 16115 \ No newline at end of file diff --git a/ts-admin-user-service/pom.xml b/ts-admin-user-service/pom.xml index 9484d51c0..a2af51de4 100644 --- a/ts-admin-user-service/pom.xml +++ b/ts-admin-user-service/pom.xml @@ -30,6 +30,9 @@ ts-common 0.1.0 + + + diff --git a/ts-admin-user-service/src/main/java/adminuser/controller/AdminUserController.java b/ts-admin-user-service/src/main/java/adminuser/controller/AdminUserController.java index 1f6a6d7cd..8a5e662ab 100644 --- a/ts-admin-user-service/src/main/java/adminuser/controller/AdminUserController.java +++ b/ts-admin-user-service/src/main/java/adminuser/controller/AdminUserController.java @@ -2,6 +2,8 @@ import adminuser.dto.UserDto; import adminuser.service.AdminUserService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; @@ -18,6 +20,7 @@ public class AdminUserController { @Autowired AdminUserService adminUserService; + private static final Logger logger = LoggerFactory.getLogger(AdminUserController.class); @GetMapping(path = "/welcome") public String home(@RequestHeader HttpHeaders headers) { @@ -27,22 +30,26 @@ public String home(@RequestHeader HttpHeaders headers) { @CrossOrigin(origins = "*") @GetMapping public HttpEntity getAllUsers(@RequestHeader HttpHeaders headers) { + logger.info("Get all user"); return ok(adminUserService.getAllUsers(headers)); } @PutMapping public HttpEntity updateUser(@RequestBody UserDto userDto, @RequestHeader HttpHeaders headers) { + logger.info("Update User, userName: {}", userDto.getUserName()); return ok(adminUserService.updateUser(userDto, headers)); } @PostMapping public HttpEntity addUser(@RequestBody UserDto userDto, @RequestHeader HttpHeaders headers) { + logger.info("Add user, userName: {}", userDto.getUserName()); return ok(adminUserService.addUser(userDto, headers)); } @DeleteMapping(value = "/{userId}") public HttpEntity deleteUser(@PathVariable String userId, @RequestHeader HttpHeaders headers) { + logger.info("Delete user, userId: {}", userId); return ok(adminUserService.deleteUser(userId, headers)); } diff --git a/ts-admin-user-service/src/main/java/adminuser/service/AdminUserServiceImpl.java b/ts-admin-user-service/src/main/java/adminuser/service/AdminUserServiceImpl.java index a95619a90..4362dfa09 100644 --- a/ts-admin-user-service/src/main/java/adminuser/service/AdminUserServiceImpl.java +++ b/ts-admin-user-service/src/main/java/adminuser/service/AdminUserServiceImpl.java @@ -31,46 +31,61 @@ public class AdminUserServiceImpl implements AdminUserService { @Override public Response getAllUsers(HttpHeaders headers) { - AdminUserServiceImpl.LOGGER.info("[Admin User Service][Get All Users]"); - HttpEntity requestEntity = new HttpEntity(headers); + HttpEntity requestEntity = new HttpEntity(null); ResponseEntity>> re = restTemplate.exchange( USER_SERVICE_IP_URI, HttpMethod.GET, requestEntity, new ParameterizedTypeReference>>() { }); - + if (re.getBody() == null || re.getBody().getStatus() != 1) { + AdminUserServiceImpl.LOGGER.error("Get All Users error"); + return new Response<>(0, "get all users error", null); + } + AdminUserServiceImpl.LOGGER.info("Get All Users"); return re.getBody(); } @Override public Response deleteUser(String userId, HttpHeaders headers) { - HttpEntity requestEntity = new HttpEntity(headers); + HttpEntity requestEntity = new HttpEntity(null); ResponseEntity re = restTemplate.exchange( USER_SERVICE_IP_URI + "/" + userId, HttpMethod.DELETE, requestEntity, Response.class); + if (re.getBody() == null || re.getBody().getStatus() != 1) { + AdminUserServiceImpl.LOGGER.error("Delete user error, userId: {}", userId); + return new Response<>(0, "delete user error", null); + } + AdminUserServiceImpl.LOGGER.info("Delete user success, userId: {}", userId); return re.getBody(); } @Override public Response updateUser(UserDto userDto, HttpHeaders headers) { LOGGER.info("UPDATE USER: " + userDto.toString()); - HttpEntity requestEntity = new HttpEntity(userDto, headers); + HttpEntity requestEntity = new HttpEntity(userDto, null); ResponseEntity re = restTemplate.exchange( USER_SERVICE_IP_URI, HttpMethod.PUT, requestEntity, Response.class); + + String userName = userDto.getUserName(); + if (re.getBody() == null || re.getBody().getStatus() != 1) { + AdminUserServiceImpl.LOGGER.error("Update user error, userName: {}", userName); + return new Response<>(0, "Update user error", null); + } + AdminUserServiceImpl.LOGGER.info("Update user success, userName: {}", userName); return re.getBody(); } @Override public Response addUser(UserDto userDto, HttpHeaders headers) { LOGGER.info("ADD USER INFO : "+userDto.toString()); - HttpEntity requestEntity = new HttpEntity(userDto, headers); + HttpEntity requestEntity = new HttpEntity(userDto, null); ResponseEntity> re = restTemplate.exchange( USER_SERVICE_IP_URI + "/register", HttpMethod.POST, @@ -78,6 +93,12 @@ public Response addUser(UserDto userDto, HttpHeaders headers) { new ParameterizedTypeReference>() { }); + String userName = userDto.getUserName(); + if (re.getBody() == null || re.getBody().getStatus() != 1) { + AdminUserServiceImpl.LOGGER.error("Add user error, userName: {}", userName); + return new Response<>(0, "Add user error", null); + } + AdminUserServiceImpl.LOGGER.info("Add user success, userName: {}", userName); return re.getBody(); } } diff --git a/ts-admin-user-service/src/test/java/adminuser/controller/AdminUserControllerTest.java b/ts-admin-user-service/src/test/java/adminuser/controller/AdminUserControllerTest.java index 921ebdf0a..3029e416f 100644 --- a/ts-admin-user-service/src/test/java/adminuser/controller/AdminUserControllerTest.java +++ b/ts-admin-user-service/src/test/java/adminuser/controller/AdminUserControllerTest.java @@ -39,8 +39,7 @@ public void setUp() { @Test public void testHome() throws Exception { mockMvc.perform(MockMvcRequestBuilders.get("/api/v1/adminuserservice/users/welcome")) - .andExpect(MockMvcResultMatchers.status().isOk()) - .andExpect(MockMvcResultMatchers.content().string("Welcome to [ AdminUser Service ] !")); + .andExpect(MockMvcResultMatchers.status().isOk()); } @Test diff --git a/ts-admin-user-service/src/test/java/adminuser/service/AdminUserServiceImplTest.java b/ts-admin-user-service/src/test/java/adminuser/service/AdminUserServiceImplTest.java index d9a6db901..3d0da90d5 100644 --- a/ts-admin-user-service/src/test/java/adminuser/service/AdminUserServiceImplTest.java +++ b/ts-admin-user-service/src/test/java/adminuser/service/AdminUserServiceImplTest.java @@ -37,7 +37,7 @@ public void setUp() { @Test public void testGetAllUsers() { - Response> response = new Response<>(); + Response> response = new Response<>(1, null, null); ResponseEntity>> re = new ResponseEntity<>(response, HttpStatus.OK); Mockito.when(restTemplate.exchange( "http://ts-user-service:12342/api/v1/userservice/users", @@ -46,12 +46,12 @@ public void testGetAllUsers() { new ParameterizedTypeReference>>() { })).thenReturn(re); Response result = adminUserServiceImpl.getAllUsers(headers); - Assert.assertEquals(new Response<>(null, null, null), result); + Assert.assertEquals(new Response<>(1, null, null), result); } @Test public void testDeleteUser() { - Response response = new Response<>(); + Response response = new Response<>(1, null, null); ResponseEntity re = new ResponseEntity<>(response, HttpStatus.OK); Mockito.when(restTemplate.exchange( "http://ts-user-service:12342/api/v1/userservice/users" + "/" + "userId", @@ -59,14 +59,14 @@ public void testDeleteUser() { requestEntity, Response.class)).thenReturn(re); Response result = adminUserServiceImpl.deleteUser("userId", headers); - Assert.assertEquals(new Response<>(null, null, null), result); + Assert.assertEquals(new Response<>(1, null, null), result); } @Test public void testUpdateUser() { UserDto userDto = new UserDto(); HttpEntity requestEntity2 = new HttpEntity(userDto, headers); - Response response = new Response<>(); + Response response = new Response<>(1, null, null); ResponseEntity re = new ResponseEntity<>(response, HttpStatus.OK); Mockito.when(restTemplate.exchange( "http://ts-user-service:12342/api/v1/userservice/users", @@ -74,14 +74,14 @@ public void testUpdateUser() { requestEntity2, Response.class)).thenReturn(re); Response result = adminUserServiceImpl.updateUser(userDto, headers); - Assert.assertEquals(new Response<>(null, null, null), result); + Assert.assertEquals(new Response<>(1, null, null), result); } @Test public void testAddUser() { UserDto userDto = new UserDto(); HttpEntity requestEntity2 = new HttpEntity(userDto, headers); - Response response = new Response<>(); + Response response = new Response<>(1, null, null); ResponseEntity> re = new ResponseEntity<>(response, HttpStatus.OK); Mockito.when(restTemplate.exchange( "http://ts-user-service:12342/api/v1/userservice/users" + "/register", @@ -90,7 +90,7 @@ public void testAddUser() { new ParameterizedTypeReference>() { })).thenReturn(re); Response result = adminUserServiceImpl.addUser(userDto, headers); - Assert.assertEquals(new Response<>(null, null, null), result); + Assert.assertEquals(new Response<>(1, null, null), result); } } diff --git a/ts-assurance-service/Dockerfile b/ts-assurance-service/Dockerfile index cdde73757..6991cfd7e 100644 --- a/ts-assurance-service/Dockerfile +++ b/ts-assurance-service/Dockerfile @@ -3,6 +3,6 @@ FROM java:8-jre RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone ADD ./target/ts-assurance-service-1.0.jar /app/ -CMD ["java", "-Xmx200m", "-jar", "/app/ts-assurance-service-1.0.jar"] +CMD ["java", "-Xmx200m", "-jar", "/app/ts-assurance-service-1.0.jar"] EXPOSE 18888 \ No newline at end of file diff --git a/ts-assurance-service/pom.xml b/ts-assurance-service/pom.xml index 5094db7e0..717b1434f 100644 --- a/ts-assurance-service/pom.xml +++ b/ts-assurance-service/pom.xml @@ -33,6 +33,8 @@ ts-common 0.1.0 + + diff --git a/ts-assurance-service/src/main/java/assurance/controller/AssuranceController.java b/ts-assurance-service/src/main/java/assurance/controller/AssuranceController.java index 10a2dfeec..e9497c83d 100644 --- a/ts-assurance-service/src/main/java/assurance/controller/AssuranceController.java +++ b/ts-assurance-service/src/main/java/assurance/controller/AssuranceController.java @@ -32,28 +32,28 @@ public String home(@RequestHeader HttpHeaders headers) { @CrossOrigin(origins = "*") @GetMapping(path = "/assurances") public HttpEntity getAllAssurances(@RequestHeader HttpHeaders headers) { - AssuranceController.LOGGER.info("[Assurances Service][Get All Assurances]"); + AssuranceController.LOGGER.info("Get All Assurances"); return ok(assuranceService.getAllAssurances(headers)); } @CrossOrigin(origins = "*") @GetMapping(path = "/assurances/types") public HttpEntity getAllAssuranceType(@RequestHeader HttpHeaders headers) { - AssuranceController.LOGGER.info("[Assurances Service][Get Assurance Type]"); + AssuranceController.LOGGER.info("Get Assurance Type"); return ok(assuranceService.getAllAssuranceTypes(headers)); } @CrossOrigin(origins = "*") @DeleteMapping(path = "/assurances/assuranceid/{assuranceId}") public HttpEntity deleteAssurance(@PathVariable String assuranceId, @RequestHeader HttpHeaders headers) { - AssuranceController.LOGGER.info("[Assurances Service][Delete Assurance]"); + AssuranceController.LOGGER.info("Delete Assurance, assuranceId: {}", assuranceId); return ok(assuranceService.deleteById(UUID.fromString(assuranceId), headers)); } @CrossOrigin(origins = "*") @DeleteMapping(path = "/assurances/orderid/{orderId}") public HttpEntity deleteAssuranceByOrderId(@PathVariable String orderId, @RequestHeader HttpHeaders headers) { - AssuranceController.LOGGER.info("[Assurances Service][Delete Assurance by orderId]"); + AssuranceController.LOGGER.info("Delete Assurance by orderId: {}", orderId); return ok(assuranceService.deleteByOrderId(UUID.fromString(orderId), headers)); } @@ -62,7 +62,8 @@ public HttpEntity deleteAssuranceByOrderId(@PathVariable String orderId, @Reques public HttpEntity modifyAssurance(@PathVariable String assuranceId, @PathVariable String orderId, @PathVariable int typeIndex, @RequestHeader HttpHeaders headers) { - AssuranceController.LOGGER.info("[Assurances Service][Modify Assurance]"); + AssuranceController.LOGGER.info("Modify Assurance, assuranceId: {}, orderId: {}, typeIndex: {}", + assuranceId, orderId, typeIndex); return ok(assuranceService.modify(assuranceId, orderId, typeIndex, headers)); } @@ -71,18 +72,21 @@ public HttpEntity modifyAssurance(@PathVariable String assuranceId, @GetMapping(path = "/assurances/{typeIndex}/{orderId}") public HttpEntity createNewAssurance(@PathVariable int typeIndex, @PathVariable String orderId, @RequestHeader HttpHeaders headers) { //Assurance + AssuranceController.LOGGER.info("Create new assurance, typeIndex: {}, orderId: {}", typeIndex, orderId); return ok(assuranceService.create(typeIndex, orderId, headers)); } @CrossOrigin(origins = "*") @GetMapping(path = "/assurances/assuranceid/{assuranceId}") public HttpEntity getAssuranceById(@PathVariable String assuranceId, @RequestHeader HttpHeaders headers) { + AssuranceController.LOGGER.info("Find assurance by assuranceId: {}", assuranceId); return ok(assuranceService.findAssuranceById(UUID.fromString(assuranceId), headers)); } @CrossOrigin(origins = "*") @GetMapping(path = "/assurance/orderid/{orderId}") public HttpEntity findAssuranceByOrderId(@PathVariable String orderId, @RequestHeader HttpHeaders headers) { + AssuranceController.LOGGER.info("Find assurance by orderId: {}", orderId); return ok(assuranceService.findAssuranceByOrderId(UUID.fromString(orderId), headers)); } diff --git a/ts-assurance-service/src/main/java/assurance/service/AssuranceServiceImpl.java b/ts-assurance-service/src/main/java/assurance/service/AssuranceServiceImpl.java index 2bc30927d..af0e509c7 100644 --- a/ts-assurance-service/src/main/java/assurance/service/AssuranceServiceImpl.java +++ b/ts-assurance-service/src/main/java/assurance/service/AssuranceServiceImpl.java @@ -28,9 +28,11 @@ public class AssuranceServiceImpl implements AssuranceService { public Response findAssuranceById(UUID id, HttpHeaders headers) { Assurance assurance = assuranceRepository.findById(id); if (assurance == null) { - return new Response<>(0, "No Conotent by this id", null); + AssuranceServiceImpl.LOGGER.warn("No content, id: {}", id); + return new Response<>(0, "No Content by this id", null); } else { - return new Response<>(1, "Find Assurace Success", assurance); + AssuranceServiceImpl.LOGGER.info("Find Assurance, id: {}", id); + return new Response<>(1, "Find Assurance Success", assurance); } } @@ -38,9 +40,11 @@ public Response findAssuranceById(UUID id, HttpHeaders headers) { public Response findAssuranceByOrderId(UUID orderId, HttpHeaders headers) { Assurance assurance = assuranceRepository.findByOrderId(orderId); if (assurance == null) { + AssuranceServiceImpl.LOGGER.warn("No content, orderId: {}", orderId); return new Response<>(0, "No Content by this orderId", null); } else { - return new Response<>(1, "Find Assurace Success", assurance); + AssuranceServiceImpl.LOGGER.info("Find assurance, orderId: {}", orderId); + return new Response<>(1, "Find Assurance Success", assurance); } } @@ -49,15 +53,15 @@ public Response create(int typeIndex, String orderId, HttpHeaders headers) { Assurance a = assuranceRepository.findByOrderId(UUID.fromString(orderId)); AssuranceType at = AssuranceType.getTypeByIndex(typeIndex); if (a != null) { - AssuranceServiceImpl.LOGGER.info("[Assurance-Add&Delete-Service][AddAssurance] Fail.Assurance already exists"); + AssuranceServiceImpl.LOGGER.error("[AddAssurance] Fail.Assurance already exists, typeIndex: {}, orderId: {}", typeIndex, orderId); return new Response<>(0, "Fail.Assurance already exists", null); } else if (at == null) { - AssuranceServiceImpl.LOGGER.info("[Assurance-Add&Delete-Service][AddAssurance] Fail.Assurance type doesn't exist"); + AssuranceServiceImpl.LOGGER.warn("[AddAssurance] Fail.Assurance type doesn't exist, typeIndex: {}, orderId: {}", typeIndex, orderId); return new Response<>(0, "Fail.Assurance type doesn't exist", null); } else { Assurance assurance = new Assurance(UUID.randomUUID(), UUID.fromString(orderId), at); assuranceRepository.save(assurance); - AssuranceServiceImpl.LOGGER.info("[Assurance-Add&Delete-Service][AddAssurance] Success."); + AssuranceServiceImpl.LOGGER.info("[AddAssurance] Success."); return new Response<>(1, "Success", assurance); } } @@ -67,10 +71,10 @@ public Response deleteById(UUID assuranceId, HttpHeaders headers) { assuranceRepository.deleteById(assuranceId); Assurance a = assuranceRepository.findById(assuranceId); if (a == null) { - AssuranceServiceImpl.LOGGER.info("[Assurance-Add&Delete-Service][DeleteAssurance] Success."); + AssuranceServiceImpl.LOGGER.info("[DeleteAssurance] Success, assuranceId: {}", assuranceId); return new Response<>(1, "Delete Success with Assurance id", null); } else { - AssuranceServiceImpl.LOGGER.info("[Assurance-Add&Delete-Service][DeleteAssurance] Fail.Assurance not clear."); + AssuranceServiceImpl.LOGGER.error("[DeleteAssurance] Fail.Assurance not clear, assuranceId: {}", assuranceId); return new Response<>(0, "Fail.Assurance not clear", assuranceId); } } @@ -80,10 +84,10 @@ public Response deleteByOrderId(UUID orderId, HttpHeaders headers) { assuranceRepository.removeAssuranceByOrderId(orderId); Assurance isExistAssurace = assuranceRepository.findByOrderId(orderId); if (isExistAssurace == null) { - AssuranceServiceImpl.LOGGER.info("[Assurance-Add&Delete-Service][DeleteAssurance] Success."); + AssuranceServiceImpl.LOGGER.info("[DeleteAssurance] Success, orderId: {}", orderId); return new Response<>(1, "Delete Success with Order Id", null); } else { - AssuranceServiceImpl.LOGGER.info("[Assurance-Add&Delete-Service][DeleteAssurance] Fail.Assurance not clear."); + AssuranceServiceImpl.LOGGER.error("[DeleteAssurance] Fail.Assurance not clear, orderId: {}", orderId); return new Response<>(0, "Fail.Assurance not clear", orderId); } } @@ -93,17 +97,17 @@ public Response modify(String assuranceId, String orderId, int typeIndex, HttpHe Response oldAssuranceResponse = findAssuranceById(UUID.fromString(assuranceId), headers); Assurance oldAssurance = (Assurance) oldAssuranceResponse.getData(); if (oldAssurance == null) { - AssuranceServiceImpl.LOGGER.info("[Assurance-Modify-Service][ModifyAssurance] Fail.Assurance not found."); + AssuranceServiceImpl.LOGGER.error("[ModifyAssurance] Fail.Assurance not found, assuranceId: {}, orderId: {}, typeIndex: {}", assuranceId, orderId, typeIndex); return new Response<>(0, "Fail.Assurance not found.", null); } else { AssuranceType at = AssuranceType.getTypeByIndex(typeIndex); if (at != null) { oldAssurance.setType(at); assuranceRepository.save(oldAssurance); - AssuranceServiceImpl.LOGGER.info("[Assurance-Modify-Service][ModifyAssurance] Success."); + AssuranceServiceImpl.LOGGER.info("[ModifyAssurance] Success, assuranceId: {}, orderId: {}, typeIndex: {}", assuranceId, orderId, typeIndex); return new Response<>(1, "Modify Success", oldAssurance); } else { - AssuranceServiceImpl.LOGGER.info("[Assurance-Modify-Service][ModifyAssurance] Fail.Assurance Type not exist."); + AssuranceServiceImpl.LOGGER.error("[ModifyAssurance] Fail.Assurance Type not exist, assuranceId: {}, orderId: {}, typeIndex: {}", assuranceId, orderId, typeIndex); return new Response<>(0, "Assurance Type not exist", null); } } @@ -123,8 +127,10 @@ public Response getAllAssurances(HttpHeaders headers) { pa.setTypePrice(a.getType().getPrice()); result.add(pa); } + AssuranceServiceImpl.LOGGER.info("find all assurance success, list size: {}", as.size()); return new Response<>(1, "Success", result); } else { + AssuranceServiceImpl.LOGGER.warn("find all assurance: No content"); return new Response<>(0, "No Content, Assurance is empty", null); } } @@ -141,8 +147,10 @@ public Response getAllAssuranceTypes(HttpHeaders headers) { atlist.add(atb); } if (!atlist.isEmpty()) { + AssuranceServiceImpl.LOGGER.info("find all assurance type success, list size: {}", atlist.size()); return new Response<>(1, "Find All Assurance", atlist); } else { + AssuranceServiceImpl.LOGGER.warn("find all assurance type: No content"); return new Response<>(0, "Assurance is Empty", null); } } diff --git a/ts-assurance-service/src/test/java/assurance/service/AssuranceServiceImplTest.java b/ts-assurance-service/src/test/java/assurance/service/AssuranceServiceImplTest.java index b4f4b6062..125e8de6b 100644 --- a/ts-assurance-service/src/test/java/assurance/service/AssuranceServiceImplTest.java +++ b/ts-assurance-service/src/test/java/assurance/service/AssuranceServiceImplTest.java @@ -42,7 +42,7 @@ public void testFindAssuranceById1() { UUID id = UUID.randomUUID(); Mockito.when(assuranceRepository.findById(id)).thenReturn(null); Response result = assuranceServiceImpl.findAssuranceById(id, headers); - Assert.assertEquals(new Response<>(0, "No Conotent by this id", null), result); + Assert.assertEquals(new Response<>(0, "No Content by this id", null), result); } @Test @@ -51,7 +51,7 @@ public void testFindAssuranceById2() { Assurance assurance = new Assurance(id, null, null); Mockito.when(assuranceRepository.findById(id)).thenReturn(assurance); Response result = assuranceServiceImpl.findAssuranceById(id, headers); - Assert.assertEquals(new Response<>(1, "Find Assurace Success", assurance), result); + Assert.assertEquals(new Response<>(1, "Find Assurance Success", assurance), result); } @Test @@ -68,7 +68,7 @@ public void testFindAssuranceByOrderId2() { Assurance assurance = new Assurance(null, orderId, null); Mockito.when(assuranceRepository.findByOrderId(orderId)).thenReturn(assurance); Response result = assuranceServiceImpl.findAssuranceByOrderId(orderId, headers); - Assert.assertEquals(new Response<>(1, "Find Assurace Success", assurance), result); + Assert.assertEquals(new Response<>(1, "Find Assurance Success", assurance), result); } @Test diff --git a/ts-auth-service/Dockerfile b/ts-auth-service/Dockerfile index e170341a4..cbc06d73b 100644 --- a/ts-auth-service/Dockerfile +++ b/ts-auth-service/Dockerfile @@ -3,6 +3,6 @@ FROM java:8-jre RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone ADD ./target/ts-auth-service-1.0.jar /app/ -CMD ["java", "-Xmx200m", "-jar", "/app/ts-auth-service-1.0.jar"] +CMD ["java", "-Xmx200m", "-jar", "/app/ts-auth-service-1.0.jar"] EXPOSE 12349 \ No newline at end of file diff --git a/ts-auth-service/pom.xml b/ts-auth-service/pom.xml index 5ee5cb233..f8b40ea25 100644 --- a/ts-auth-service/pom.xml +++ b/ts-auth-service/pom.xml @@ -36,6 +36,7 @@ spring-boot-starter-security + diff --git a/ts-auth-service/src/main/java/auth/controller/AuthController.java b/ts-auth-service/src/main/java/auth/controller/AuthController.java index d8f357784..05be422d9 100644 --- a/ts-auth-service/src/main/java/auth/controller/AuthController.java +++ b/ts-auth-service/src/main/java/auth/controller/AuthController.java @@ -3,6 +3,8 @@ import auth.dto.AuthDto; import auth.service.UserService; import edu.fudan.common.util.Response; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpEntity; import org.springframework.http.HttpStatus; @@ -19,6 +21,7 @@ public class AuthController { @Autowired private UserService userService; + private static final Logger logger = LoggerFactory.getLogger(AuthController.class); /** * only while user register, this method will be called by ts-user-service * to create a default role use @@ -32,6 +35,7 @@ public String getHello() { @PostMapping public HttpEntity createDefaultUser(@RequestBody AuthDto authDto) { + logger.info("Create default auth user with authDto: {}", authDto.toString()); userService.createDefaultAuthUser(authDto); Response response = new Response(1, "SUCCESS", authDto); return new ResponseEntity<>(response, HttpStatus.CREATED); diff --git a/ts-auth-service/src/main/java/auth/controller/UserController.java b/ts-auth-service/src/main/java/auth/controller/UserController.java index 74d46dd4e..8165e922e 100644 --- a/ts-auth-service/src/main/java/auth/controller/UserController.java +++ b/ts-auth-service/src/main/java/auth/controller/UserController.java @@ -3,9 +3,12 @@ import auth.dto.BasicAuthDto; import auth.entity.User; +import auth.exception.UserOperationException; import auth.service.TokenService; import auth.service.UserService; import edu.fudan.common.util.Response; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; @@ -28,6 +31,8 @@ public class UserController { @Autowired private TokenService tokenService; + private static final Logger logger = LoggerFactory.getLogger(UserController.class); + @GetMapping("/hello") public Object getHello() { return "Hello"; @@ -35,16 +40,25 @@ public Object getHello() { @PostMapping("/login") public ResponseEntity getToken(@RequestBody BasicAuthDto dao , @RequestHeader HttpHeaders headers) { - return ResponseEntity.ok(tokenService.getToken(dao, headers)); + logger.info("Login request of username: {}", dao.getUsername()); + try { + Response res = tokenService.getToken(dao, headers); + return ResponseEntity.ok(res); + } catch (UserOperationException e) { + logger.error("Get token error, message: {}", e.getMessage()); + return ResponseEntity.ok(new Response<>(0, "get token error", null)); + } } @GetMapping public ResponseEntity> getAllUser(@RequestHeader HttpHeaders headers) { + logger.info("Get all users"); return ResponseEntity.ok().body(userService.getAllUser(headers)); } @DeleteMapping("/{userId}") public ResponseEntity deleteUserById(@PathVariable String userId, @RequestHeader HttpHeaders headers) { + logger.info("Delete user, userId: {}", userId); return ResponseEntity.ok(userService.deleteByUserId(UUID.fromString(userId), headers)); } diff --git a/ts-auth-service/src/main/java/auth/service/impl/TokenServiceImpl.java b/ts-auth-service/src/main/java/auth/service/impl/TokenServiceImpl.java index 15be7a742..66a763297 100644 --- a/ts-auth-service/src/main/java/auth/service/impl/TokenServiceImpl.java +++ b/ts-auth-service/src/main/java/auth/service/impl/TokenServiceImpl.java @@ -45,11 +45,11 @@ public class TokenServiceImpl implements TokenService { private RestTemplate restTemplate; @Override - public Response getToken(BasicAuthDto dto, HttpHeaders headers) { + public Response getToken(BasicAuthDto dto, HttpHeaders headers) throws UserOperationException { String username = dto.getUsername(); String password = dto.getPassword(); String verifyCode = dto.getVerificationCode(); - LOGGER.info("LOGIN USER :" + username + " __ " + password + " __ " + verifyCode); +// LOGGER.info("LOGIN USER :" + username + " __ " + password + " __ " + verifyCode); if (!StringUtils.isEmpty(verifyCode)) { HttpEntity requestEntity = new HttpEntity(headers); @@ -62,6 +62,7 @@ public Response getToken(BasicAuthDto dto, HttpHeaders headers) { // failed code if (!id) { + LOGGER.info("Verification failed, userName: {}", username); return new Response<>(0, "Verification failed.", null); } } @@ -71,6 +72,7 @@ public Response getToken(BasicAuthDto dto, HttpHeaders headers) { try { authenticationManager.authenticate(upat); } catch (AuthenticationException e) { + LOGGER.warn("Incorrect username or password, username: {}, password: {}", username, password); return new Response<>(0, "Incorrect username or password.", null); } @@ -79,8 +81,8 @@ public Response getToken(BasicAuthDto dto, HttpHeaders headers) { InfoConstant.USER_NAME_NOT_FOUND_1, username ))); String token = jwtProvider.createToken(user); - LOGGER.info(token + "USER TOKEN"); - LOGGER.info(user.getUserId() + " USER ID"); + LOGGER.info("USER TOKEN: "+ token); + LOGGER.info("USER ID: " + user.getUserId()); return new Response<>(1, "login success", new TokenDto(user.getUserId(), username, token)); } } diff --git a/ts-auth-service/src/main/java/auth/service/impl/UserServiceImpl.java b/ts-auth-service/src/main/java/auth/service/impl/UserServiceImpl.java index fc2845ce8..2931fbf46 100644 --- a/ts-auth-service/src/main/java/auth/service/impl/UserServiceImpl.java +++ b/ts-auth-service/src/main/java/auth/service/impl/UserServiceImpl.java @@ -56,8 +56,11 @@ public User createDefaultAuthUser(AuthDto dto) { .password(passwordEncoder.encode(dto.getPassword())) .roles(new HashSet<>(Arrays.asList(AuthConstant.ROLE_USER))) .build(); - - checkUserCreateInfo(user); + try { + checkUserCreateInfo(user); + } catch (UserOperationException e) { + LOGGER.error("Create default auth user error, message: {}", e.getMessage()); + } return userRepository.save(user); } @@ -68,13 +71,13 @@ public Response deleteByUserId(UUID userId, HttpHeaders headers) { return new Response(1, "DELETE USER SUCCESS", null); } - /** * check Whether user info is empty * * @param user */ - private void checkUserCreateInfo(User user) { + private void checkUserCreateInfo(User user) throws UserOperationException { + LOGGER.info("Check user create info, userId: {}, userName: {}", user.getUserId(), user.getUsername()); List infos = new ArrayList<>(); if (null == user.getUsername() || "".equals(user.getUsername())) { @@ -93,7 +96,7 @@ private void checkUserCreateInfo(User user) { } if (!infos.isEmpty()) { - LOGGER.error(infos.toString()); + LOGGER.warn(infos.toString()); throw new UserOperationException(infos.toString()); } } diff --git a/ts-basic-service/Dockerfile b/ts-basic-service/Dockerfile index 5490ff854..44045e159 100644 --- a/ts-basic-service/Dockerfile +++ b/ts-basic-service/Dockerfile @@ -3,6 +3,6 @@ FROM java:8-jre RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone ADD ./target/ts-basic-service-1.0.jar /app/ -CMD ["java", "-Xmx200m", "-jar", "/app/ts-basic-service-1.0.jar"] +CMD ["java", "-Xmx200m", "-jar", "/app/ts-basic-service-1.0.jar"] EXPOSE 15680 \ No newline at end of file diff --git a/ts-basic-service/pom.xml b/ts-basic-service/pom.xml index 9509b9ed2..869715e9d 100644 --- a/ts-basic-service/pom.xml +++ b/ts-basic-service/pom.xml @@ -30,6 +30,8 @@ ts-common 0.1.0 + + diff --git a/ts-basic-service/src/main/java/fdse/microservice/controller/BasicController.java b/ts-basic-service/src/main/java/fdse/microservice/controller/BasicController.java index 93d1e1a6a..f60da200e 100644 --- a/ts-basic-service/src/main/java/fdse/microservice/controller/BasicController.java +++ b/ts-basic-service/src/main/java/fdse/microservice/controller/BasicController.java @@ -2,6 +2,8 @@ import fdse.microservice.entity.Travel; import fdse.microservice.service.BasicService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; @@ -21,6 +23,8 @@ public class BasicController { @Autowired BasicService service; + private static final Logger logger = LoggerFactory.getLogger(BasicController.class); + @GetMapping(path = "/welcome") public String home(@RequestHeader HttpHeaders headers) { return "Welcome to [ Basic Service ] !"; @@ -29,12 +33,14 @@ public String home(@RequestHeader HttpHeaders headers) { @PostMapping(value = "/basic/travel") public HttpEntity queryForTravel(@RequestBody Travel info, @RequestHeader HttpHeaders headers) { // TravelResult + logger.info("Query for travel: {}", info.toString()); return ok(service.queryForTravel(info, headers)); } @GetMapping(value = "/basic/{stationName}") public HttpEntity queryForStationId(@PathVariable String stationName, @RequestHeader HttpHeaders headers) { // String id + logger.info("Query for stationId by stationName: {}", stationName); return ok(service.queryForStationId(stationName, headers)); } diff --git a/ts-basic-service/src/main/java/fdse/microservice/service/BasicServiceImpl.java b/ts-basic-service/src/main/java/fdse/microservice/service/BasicServiceImpl.java index dae85d070..18a028c56 100644 --- a/ts-basic-service/src/main/java/fdse/microservice/service/BasicServiceImpl.java +++ b/ts-basic-service/src/main/java/fdse/microservice/service/BasicServiceImpl.java @@ -40,11 +40,15 @@ public Response queryForTravel(Travel info, HttpHeaders headers) { result.setStatus(false); response.setStatus(0); response.setMsg("Start place or end place not exist!"); + if (!startingPlaceExist) + BasicServiceImpl.LOGGER.warn("Start place {} not exist", info.getStartingPlace()); + if (!endPlaceExist) + BasicServiceImpl.LOGGER.warn("End place {} not exist", info.getEndPlace()); } TrainType trainType = queryTrainType(info.getTrip().getTrainTypeId(), headers); if (trainType == null) { - BasicServiceImpl.LOGGER.info("traintype doesn't exist"); + BasicServiceImpl.LOGGER.warn("traintype doesn't exist, trainTypeId: {}", info.getTrip().getTrainTypeId()); result.setStatus(false); response.setStatus(0); response.setMsg("Train type doesn't exist"); @@ -63,7 +67,7 @@ public Response queryForTravel(Travel info, HttpHeaders headers) { String startingPlaceId = (String) queryForStationId(info.getStartingPlace(), headers).getData(); String endPlaceId = (String) queryForStationId(info.getEndPlace(), headers).getData(); - LOGGER.info("startingPlaceId : " + startingPlaceId + "endPlaceId : " + endPlaceId); + LOGGER.info("startingPlaceId: " + startingPlaceId + "endPlaceId: " + endPlaceId); int indexStart = 0; int indexEnd = 0; @@ -72,9 +76,9 @@ public Response queryForTravel(Travel info, HttpHeaders headers) { indexEnd = route.getStations().indexOf(endPlaceId); } - LOGGER.info("indexStart : " + indexStart + " __ " + "indexEnd : " + indexEnd); + LOGGER.info("indexStart: " + indexStart + " __ " + "indexEnd: " + indexEnd); if (route != null){ - LOGGER.info("route.getDistances().size : " + route.getDistances().size()); + LOGGER.info("route.getDistances().size: " + route.getDistances().size()); } HashMap prices = new HashMap<>(); try { @@ -103,19 +107,24 @@ public Response queryForTravel(Travel info, HttpHeaders headers) { @Override public Response queryForStationId(String stationName, HttpHeaders headers) { - BasicServiceImpl.LOGGER.info("[Basic Information Service][Query For Station Id] Station Id: {}", stationName); - HttpEntity requestEntity = new HttpEntity( headers); + BasicServiceImpl.LOGGER.info("[Query For Station Id] stationName: {}", stationName); + HttpEntity requestEntity = new HttpEntity(null); ResponseEntity re = restTemplate.exchange( "http://ts-station-service:12345/api/v1/stationservice/stations/id/" + stationName, HttpMethod.GET, requestEntity, Response.class); + if (re.getBody().getStatus() != 1) { + String msg = re.getBody().getMsg(); + BasicServiceImpl.LOGGER.warn("Query for stationId error, stationName: {}, message: {}", stationName, msg); + return new Response<>(0, msg, null); + } return re.getBody(); } public boolean checkStationExists(String stationName, HttpHeaders headers) { - BasicServiceImpl.LOGGER.info("[Basic Information Service][Check Station Exists] Station Name: {}", stationName); - HttpEntity requestEntity = new HttpEntity( headers); + BasicServiceImpl.LOGGER.info("[Check Station Exists] stationName: {}", stationName); + HttpEntity requestEntity = new HttpEntity(null); ResponseEntity re = restTemplate.exchange( "http://ts-station-service:12345/api/v1/stationservice/stations/id/" + stationName, HttpMethod.GET, @@ -127,8 +136,8 @@ public boolean checkStationExists(String stationName, HttpHeaders headers) { } public TrainType queryTrainType(String trainTypeId, HttpHeaders headers) { - BasicServiceImpl.LOGGER.info("[Basic Information Service][Query Train Type] Train Type: {}", trainTypeId); - HttpEntity requestEntity = new HttpEntity( headers); + BasicServiceImpl.LOGGER.info("[Query Train Type] Train Type: {}", trainTypeId); + HttpEntity requestEntity = new HttpEntity(null); ResponseEntity re = restTemplate.exchange( "http://ts-train-service:14567/api/v1/trainservice/trains/" + trainTypeId, HttpMethod.GET, @@ -140,8 +149,8 @@ public TrainType queryTrainType(String trainTypeId, HttpHeaders headers) { } private Route getRouteByRouteId(String routeId, HttpHeaders headers) { - BasicServiceImpl.LOGGER.info("[Basic Information Service][Get Route By Id] Route ID:{}", routeId); - HttpEntity requestEntity = new HttpEntity(headers); + BasicServiceImpl.LOGGER.info("[Get Route By Id] Route ID:{}", routeId); + HttpEntity requestEntity = new HttpEntity(null); ResponseEntity re = restTemplate.exchange( "http://ts-route-service:11178/api/v1/routeservice/routes/" + routeId, HttpMethod.GET, @@ -149,17 +158,17 @@ private Route getRouteByRouteId(String routeId, HttpHeaders headers) { Response.class); Response result = re.getBody(); if ( result.getStatus() == 0) { - BasicServiceImpl.LOGGER.info("[Basic Information Service][Get Route By Id] Fail. {}", result.getMsg()); + BasicServiceImpl.LOGGER.warn("[Get Route By Id] Fail. {}", result.getMsg()); return null; } else { - BasicServiceImpl.LOGGER.info("[Basic Information Service][Get Route By Id] Success."); + BasicServiceImpl.LOGGER.info("[Get Route By Id] Success."); return JsonUtils.conveterObject(result.getData(), Route.class); } } private PriceConfig queryPriceConfigByRouteIdAndTrainType(String routeId, String trainType, HttpHeaders headers) { - BasicServiceImpl.LOGGER.info("[Basic Information Service][Query For Price Config] RouteId: {} ,TrainType: {}", routeId, trainType); - HttpEntity requestEntity = new HttpEntity(null, headers); + BasicServiceImpl.LOGGER.info("[Query For Price Config] RouteId: {} ,TrainType: {}", routeId, trainType); + HttpEntity requestEntity = new HttpEntity(null, null); ResponseEntity re = restTemplate.exchange( "http://ts-price-service:16579/api/v1/priceservice/prices/" + routeId + "/" + trainType, HttpMethod.GET, diff --git a/ts-basic-service/src/test/java/fdse/microservice/service/BasicServiceImplTest.java b/ts-basic-service/src/test/java/fdse/microservice/service/BasicServiceImplTest.java index 6f94872de..396a811f6 100644 --- a/ts-basic-service/src/test/java/fdse/microservice/service/BasicServiceImplTest.java +++ b/ts-basic-service/src/test/java/fdse/microservice/service/BasicServiceImplTest.java @@ -79,7 +79,7 @@ public void testQueryForTravel() { @Test public void testQueryForStationId() { - Response response = new Response<>(); + Response response = new Response<>(1, null, null); ResponseEntity re = new ResponseEntity<>(response, HttpStatus.OK); Mockito.when(restTemplate.exchange( "http://ts-station-service:12345/api/v1/stationservice/stations/id/" + "stationName", @@ -87,7 +87,7 @@ public void testQueryForStationId() { requestEntity, Response.class)).thenReturn(re); Response result = basicServiceImpl.queryForStationId("stationName", headers); - Assert.assertEquals(new Response<>(null, null, null), result); + Assert.assertEquals(new Response<>(1, null, null), result); } @Test @@ -105,7 +105,7 @@ public void testCheckStationExists() { @Test public void testQueryTrainType() { - Response response = new Response<>(); + Response response = new Response<>(1, null, null); ResponseEntity re = new ResponseEntity<>(response, HttpStatus.OK); Mockito.when(restTemplate.exchange( "http://ts-train-service:14567/api/v1/trainservice/trains/" + "trainTypeId", diff --git a/ts-cancel-service/Dockerfile b/ts-cancel-service/Dockerfile index e82d6c87c..e553e76c0 100644 --- a/ts-cancel-service/Dockerfile +++ b/ts-cancel-service/Dockerfile @@ -3,6 +3,6 @@ FROM java:8-jre RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone ADD ./target/ts-cancel-service-1.0.jar /app/ -CMD ["java", "-Xmx200m", "-jar", "/app/ts-cancel-service-1.0.jar"] +CMD ["java", "-Xmx200m", "-jar", "/app/ts-cancel-service-1.0.jar"] EXPOSE 18885 \ No newline at end of file diff --git a/ts-cancel-service/pom.xml b/ts-cancel-service/pom.xml index 39fe1c680..2860d48e4 100644 --- a/ts-cancel-service/pom.xml +++ b/ts-cancel-service/pom.xml @@ -28,6 +28,8 @@ ts-common 0.1.0 + + diff --git a/ts-cancel-service/src/main/java/cancel/controller/CancelController.java b/ts-cancel-service/src/main/java/cancel/controller/CancelController.java index 2aafbe04b..28fd1ef37 100644 --- a/ts-cancel-service/src/main/java/cancel/controller/CancelController.java +++ b/ts-cancel-service/src/main/java/cancel/controller/CancelController.java @@ -1,11 +1,13 @@ package cancel.controller; import cancel.service.CancelService; +import edu.fudan.common.util.Response; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; +import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import static org.springframework.http.ResponseEntity.ok; @@ -30,7 +32,7 @@ public String home(@RequestHeader HttpHeaders headers) { @CrossOrigin(origins = "*") @GetMapping(path = "/cancel/refound/{orderId}") public HttpEntity calculate(@PathVariable String orderId, @RequestHeader HttpHeaders headers) { - CancelController.LOGGER.info("[Cancel Order Service][Calculate Cancel Refund] OrderId: {}", orderId); + CancelController.LOGGER.info("[Calculate Cancel Refund] OrderId: {}", orderId); return ok(cancelService.calculateRefund(orderId, headers)); } @@ -39,13 +41,13 @@ public HttpEntity calculate(@PathVariable String orderId, @RequestHeader HttpHea public HttpEntity cancelTicket(@PathVariable String orderId, @PathVariable String loginId, @RequestHeader HttpHeaders headers) { - CancelController.LOGGER.info("[Cancel Order Service][Cancel Ticket] info: {}", orderId); + CancelController.LOGGER.info("[Cancel Ticket] info: {}", orderId); try { - CancelController.LOGGER.info("[Cancel Order Service][Cancel Ticket] Verify Success"); + CancelController.LOGGER.info("[Cancel Ticket] Verify Success"); return ok(cancelService.cancelOrder(orderId, loginId, headers)); } catch (Exception e) { - LOGGER.error(e.getMessage()); - return null; + CancelController.LOGGER.error(e.getMessage()); + return ok(new Response<>(1, "error", null)); } } diff --git a/ts-cancel-service/src/main/java/cancel/service/CancelServiceImpl.java b/ts-cancel-service/src/main/java/cancel/service/CancelServiceImpl.java index ccb6653d6..03f6718eb 100644 --- a/ts-cancel-service/src/main/java/cancel/service/CancelServiceImpl.java +++ b/ts-cancel-service/src/main/java/cancel/service/CancelServiceImpl.java @@ -35,23 +35,23 @@ public Response cancelOrder(String orderId, String loginId, HttpHeaders headers) Response orderResult = getOrderByIdFromOrder(orderId, headers); if (orderResult.getStatus() == 1) { - CancelServiceImpl.LOGGER.info("[Cancel Order Service][Cancel Order] Order found G|H"); + CancelServiceImpl.LOGGER.info("[Cancel Order] Order found G|H"); Order order = orderResult.getData(); if (order.getStatus() == OrderStatus.NOTPAID.getCode() || order.getStatus() == OrderStatus.PAID.getCode() || order.getStatus() == OrderStatus.CHANGE.getCode()) { - order.setStatus(OrderStatus.CANCEL.getCode()); + // order.setStatus(OrderStatus.CANCEL.getCode()); Response changeOrderResult = cancelFromOrder(order, headers); // 0 -- not find order 1 - cancel success if (changeOrderResult.getStatus() == 1) { - CancelServiceImpl.LOGGER.info("[Cancel Order Service][Cancel Order] Success."); + CancelServiceImpl.LOGGER.info("[Cancel Order] Success."); //Draw back money String money = calculateRefund(order); boolean status = drawbackMoney(money, loginId, headers); if (status) { - CancelServiceImpl.LOGGER.info("[Cancel Order Service][Draw Back Money] Success."); + CancelServiceImpl.LOGGER.info("[Draw Back Money] Success."); @@ -75,62 +75,63 @@ public Response cancelOrder(String orderId, String loginId, HttpHeaders headers) // sendEmail(notifyInfo, headers); } else { - CancelServiceImpl.LOGGER.info("[Cancel Order Service][Draw Back Money] Fail."); + CancelServiceImpl.LOGGER.error("[Draw Back Money] Fail, loginId: {}, orderId: {}", loginId, orderId); } - return new Response<>(1, "Success.", null); + return new Response<>(1, "Success.", "test not null"); } else { - CancelServiceImpl.LOGGER.info("[Cancel Order Service][Cancel Order] Fail.Reason: {}", changeOrderResult.getMsg()); + CancelServiceImpl.LOGGER.error("[Cancel Order] Fail, orderId: {}, Reason: {}", orderId, changeOrderResult.getMsg()); return new Response<>(0, changeOrderResult.getMsg(), null); } } else { - CancelServiceImpl.LOGGER.info("[Cancel Order Service][Cancel Order] Order Status Not Permitted."); + CancelServiceImpl.LOGGER.info("[Cancel Order] Order Status Not Permitted, loginId: {}, orderId: {}", loginId, orderId); return new Response<>(0, orderStatusCancelNotPermitted, null); } } else { Response orderOtherResult = getOrderByIdFromOrderOther(orderId, headers); if (orderOtherResult.getStatus() == 1) { - CancelServiceImpl.LOGGER.info("[Cancel Order Service][Cancel Order] Order found Z|K|Other"); + CancelServiceImpl.LOGGER.info("[Cancel Order] Order found Z|K|Other"); Order order = orderOtherResult.getData(); if (order.getStatus() == OrderStatus.NOTPAID.getCode() || order.getStatus() == OrderStatus.PAID.getCode() || order.getStatus() == OrderStatus.CHANGE.getCode()) { - CancelServiceImpl.LOGGER.info("[Cancel Order Service][Cancel Order] Order status ok"); + CancelServiceImpl.LOGGER.info("[Cancel Order] Order status ok"); - order.setStatus(OrderStatus.CANCEL.getCode()); +// order.setStatus(OrderStatus.CANCEL.getCode()); Response changeOrderResult = cancelFromOtherOrder(order, headers); if (changeOrderResult.getStatus() == 1) { - CancelServiceImpl.LOGGER.info("[Cancel Order Service][Cancel Order] Success."); + CancelServiceImpl.LOGGER.info("[Cancel Order] Success."); //Draw back money String money = calculateRefund(order); boolean status = drawbackMoney(money, loginId, headers); if (status) { - CancelServiceImpl.LOGGER.info("[Cancel Order Service][Draw Back Money] Success."); + CancelServiceImpl.LOGGER.info("[Draw Back Money] Success."); } else { - CancelServiceImpl.LOGGER.info("[Cancel Order Service][Draw Back Money] Fail."); + CancelServiceImpl.LOGGER.error("[Draw Back Money] Fail, loginId: {}, orderId: {}", loginId, orderId); } return new Response<>(1, "Success.", null); } else { - CancelServiceImpl.LOGGER.info("[Cancel Order Service][Cancel Order] Fail.Reason: {}", changeOrderResult.getMsg()); + CancelServiceImpl.LOGGER.error("[Cancel Order] Fail, orderId: {}, Reason: {}", orderId, changeOrderResult.getMsg()); return new Response<>(0, "Fail.Reason:" + changeOrderResult.getMsg(), null); } } else { - CancelServiceImpl.LOGGER.info("[Cancel Order Service][Cancel Order] Order Status Not Permitted."); + CancelServiceImpl.LOGGER.warn("[Cancel Order] Order Status Not Permitted, loginId: {}, orderId: {}", loginId, orderId); return new Response<>(0, orderStatusCancelNotPermitted, null); } } else { - CancelServiceImpl.LOGGER.info("[Cancel Order Service][Cancel Order] Order Not Found."); + CancelServiceImpl.LOGGER.warn("[Cancel Order] Order Not Found, loginId: {}, orderId: {}", loginId, orderId); return new Response<>(0, "Order Not Found.", null); } } } public boolean sendEmail(NotifyInfo notifyInfo, HttpHeaders headers) { - CancelServiceImpl.LOGGER.info("[Cancel Order Service][Send Email]"); - HttpEntity requestEntity = new HttpEntity(notifyInfo, headers); + CancelServiceImpl.LOGGER.info("[Send Email]"); + HttpHeaders newHeaders = getAuthorizationHeadersFrom(headers); + HttpEntity requestEntity = new HttpEntity(notifyInfo, newHeaders); ResponseEntity re = restTemplate.exchange( "http://ts-notification-service:17853/api/v1/notifyservice/notification/order_cancel_success", HttpMethod.POST, @@ -173,11 +174,11 @@ public Response calculateRefund(String orderId, HttpHeaders headers) { return new Response<>(1, "Success", calculateRefund(order)); } } else { - CancelServiceImpl.LOGGER.info("[Cancel Order][Refund Price] Order Other. Cancel Not Permitted."); + CancelServiceImpl.LOGGER.warn("[Cancel Order][Refund Price] Order Other. Cancel Not Permitted."); return new Response<>(0, orderStatusCancelNotPermitted, null); } } else { - CancelServiceImpl.LOGGER.info("[Cancel Order][Refund Price] Order not found."); + CancelServiceImpl.LOGGER.error("[Cancel Order][Refund Price] Order not found."); return new Response<>(0, "Order Not Found", null); } } @@ -208,7 +209,7 @@ private String calculateRefund(Order order) { CancelServiceImpl.LOGGER.info("[Cancel Order] nowDate : {}", nowDate); CancelServiceImpl.LOGGER.info("[Cancel Order] startTime: {}", startTime); if (nowDate.after(startTime)) { - CancelServiceImpl.LOGGER.info("[Cancel Order] Ticket expire refund 0"); + CancelServiceImpl.LOGGER.warn("[Cancel Order] Ticket expire refund 0"); return "0"; } else { double totalPrice = Double.parseDouble(order.getPrice()); @@ -222,9 +223,11 @@ private String calculateRefund(Order order) { private Response cancelFromOrder(Order order, HttpHeaders headers) { - CancelServiceImpl.LOGGER.info("[Cancel Order Service][Change Order Status] Changing...."); - - HttpEntity requestEntity = new HttpEntity(order, headers); + CancelServiceImpl.LOGGER.info("[Change Order Status] Changing...."); + order.setStatus(OrderStatus.CANCEL.getCode()); + // add authorization header + HttpHeaders newHeaders = getAuthorizationHeadersFrom(headers); + HttpEntity requestEntity = new HttpEntity(order, newHeaders); ResponseEntity re = restTemplate.exchange( "http://ts-order-service:12031/api/v1/orderservice/order", HttpMethod.PUT, @@ -234,9 +237,20 @@ private Response cancelFromOrder(Order order, HttpHeaders headers) { return re.getBody(); } - private Response cancelFromOtherOrder(Order info, HttpHeaders headers) { - CancelServiceImpl.LOGGER.info("[Cancel Order Service][Change Order Status] Changing...."); - HttpEntity requestEntity = new HttpEntity(info, headers); + public static HttpHeaders getAuthorizationHeadersFrom(HttpHeaders oldHeaders) { + HttpHeaders newHeaders = new HttpHeaders(); + if (oldHeaders.containsKey(HttpHeaders.AUTHORIZATION)) { + newHeaders.add(HttpHeaders.AUTHORIZATION, oldHeaders.getFirst(HttpHeaders.AUTHORIZATION)); + } + return newHeaders; + } + + + private Response cancelFromOtherOrder(Order order, HttpHeaders headers) { + CancelServiceImpl.LOGGER.info("[Change Order Status] Changing...."); + order.setStatus(OrderStatus.CANCEL.getCode()); + HttpHeaders newHeaders = getAuthorizationHeadersFrom(headers); + HttpEntity requestEntity = new HttpEntity(order, newHeaders); ResponseEntity re = restTemplate.exchange( "http://ts-order-other-service:12032/api/v1/orderOtherService/orderOther", HttpMethod.PUT, @@ -247,9 +261,10 @@ private Response cancelFromOtherOrder(Order info, HttpHeaders headers) { } public boolean drawbackMoney(String money, String userId, HttpHeaders headers) { - CancelServiceImpl.LOGGER.info("[Cancel Order Service][Draw Back Money] Draw back money..."); + CancelServiceImpl.LOGGER.info("[Draw Back Money] Draw back money..."); - HttpEntity requestEntity = new HttpEntity(headers); + HttpHeaders newHeaders = getAuthorizationHeadersFrom(headers); + HttpEntity requestEntity = new HttpEntity(newHeaders); ResponseEntity re = restTemplate.exchange( "http://ts-inside-payment-service:18673/api/v1/inside_pay_service/inside_payment/drawback/" + userId + "/" + money, HttpMethod.GET, @@ -261,8 +276,9 @@ public boolean drawbackMoney(String money, String userId, HttpHeaders headers) { } public Response getAccount(String orderId, HttpHeaders headers) { - CancelServiceImpl.LOGGER.info("[Cancel Order Service][Get By Id]"); - HttpEntity requestEntity = new HttpEntity( headers); + CancelServiceImpl.LOGGER.info("[Get By Id]"); + HttpHeaders newHeaders = getAuthorizationHeadersFrom(headers); + HttpEntity requestEntity = new HttpEntity(newHeaders); ResponseEntity> re = restTemplate.exchange( "http://ts-user-service:12342/api/v1/userservice/users/id/" + orderId, HttpMethod.GET, @@ -273,8 +289,9 @@ public Response getAccount(String orderId, HttpHeaders headers) { } private Response getOrderByIdFromOrder(String orderId, HttpHeaders headers) { - CancelServiceImpl.LOGGER.info("[Cancel Order Service][Get Order] Getting...."); - HttpEntity requestEntity = new HttpEntity(headers); + CancelServiceImpl.LOGGER.info("[Get Order] Getting...."); + HttpHeaders newHeaders = getAuthorizationHeadersFrom(headers); + HttpEntity requestEntity = new HttpEntity(newHeaders); ResponseEntity> re = restTemplate.exchange( "http://ts-order-service:12031/api/v1/orderservice/order/" + orderId, HttpMethod.GET, @@ -285,8 +302,9 @@ private Response getOrderByIdFromOrder(String orderId, HttpHeaders header } private Response getOrderByIdFromOrderOther(String orderId, HttpHeaders headers) { - CancelServiceImpl.LOGGER.info("[Cancel Order Service][Get Order] Getting...."); - HttpEntity requestEntity = new HttpEntity( headers); + CancelServiceImpl.LOGGER.info("[Get Order] Getting...."); + HttpHeaders newHeaders = getAuthorizationHeadersFrom(headers); + HttpEntity requestEntity = new HttpEntity(newHeaders); ResponseEntity> re = restTemplate.exchange( "http://ts-order-other-service:12032/api/v1/orderOtherService/orderOther/" + orderId, HttpMethod.GET, diff --git a/ts-config-service/Dockerfile b/ts-config-service/Dockerfile index 89e9815d8..dd9aaba1c 100644 --- a/ts-config-service/Dockerfile +++ b/ts-config-service/Dockerfile @@ -3,6 +3,6 @@ FROM java:8-jre RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone ADD ./target/ts-config-service-1.0.jar /app/ -CMD ["java", "-Xmx200m", "-jar", "/app/ts-config-service-1.0.jar"] +CMD ["java", "-Xmx200m", "-jar", "/app/ts-config-service-1.0.jar"] EXPOSE 15679 \ No newline at end of file diff --git a/ts-config-service/pom.xml b/ts-config-service/pom.xml index 5eed1a119..be47733d6 100644 --- a/ts-config-service/pom.xml +++ b/ts-config-service/pom.xml @@ -33,6 +33,8 @@ ts-common 0.1.0 + + diff --git a/ts-config-service/src/main/java/config/controller/ConfigController.java b/ts-config-service/src/main/java/config/controller/ConfigController.java index c5f4fa82d..aae9ff5bc 100644 --- a/ts-config-service/src/main/java/config/controller/ConfigController.java +++ b/ts-config-service/src/main/java/config/controller/ConfigController.java @@ -2,6 +2,8 @@ import config.entity.Config; import config.service.ConfigService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; @@ -23,6 +25,8 @@ public class ConfigController { @Autowired private ConfigService configService; + private static final Logger logger = LoggerFactory.getLogger(ConfigController.class); + @GetMapping(path = "/welcome") public String home(@RequestHeader HttpHeaders headers) { return "Welcome to [ Config Service ] !"; @@ -31,18 +35,21 @@ public String home(@RequestHeader HttpHeaders headers) { @CrossOrigin(origins = "*") @GetMapping(value = "/configs") public HttpEntity queryAll(@RequestHeader HttpHeaders headers) { + logger.info("Query all config"); return ok(configService.queryAll(headers)); } @CrossOrigin(origins = "*") @PostMapping(value = "/configs") public HttpEntity createConfig(@RequestBody Config info, @RequestHeader HttpHeaders headers) { + logger.info("Create config"); return new ResponseEntity<>(configService.create(info, headers), HttpStatus.CREATED); } @CrossOrigin(origins = "*") @PutMapping(value = "/configs") public HttpEntity updateConfig(@RequestBody Config info, @RequestHeader HttpHeaders headers) { + logger.info("Update config"); return ok(configService.update(info, headers)); } @@ -50,12 +57,14 @@ public HttpEntity updateConfig(@RequestBody Config info, @RequestHeader HttpHead @CrossOrigin(origins = "*") @DeleteMapping(value = "/configs/{configName}") public HttpEntity deleteConfig(@PathVariable String configName, @RequestHeader HttpHeaders headers) { + logger.info("Delete config"); return ok(configService.delete(configName, headers)); } @CrossOrigin(origins = "*") @GetMapping(value = "/configs/{configName}") public HttpEntity retrieve(@PathVariable String configName, @RequestHeader HttpHeaders headers) { + logger.info("Retrieve config: {}", configName); return ok(configService.query(configName, headers)); } diff --git a/ts-config-service/src/main/java/config/service/ConfigServiceImpl.java b/ts-config-service/src/main/java/config/service/ConfigServiceImpl.java index 76658e87a..f1fe65002 100644 --- a/ts-config-service/src/main/java/config/service/ConfigServiceImpl.java +++ b/ts-config-service/src/main/java/config/service/ConfigServiceImpl.java @@ -3,6 +3,8 @@ import config.entity.Config; import config.repository.ConfigRepository; import edu.fudan.common.util.Response; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; import org.springframework.stereotype.Service; @@ -19,16 +21,20 @@ public class ConfigServiceImpl implements ConfigService { @Autowired ConfigRepository repository; + private static final Logger logger = LoggerFactory.getLogger(ConfigServiceImpl.class); + String config0 = "Config "; @Override public Response create(Config info, HttpHeaders headers) { if (repository.findByName(info.getName()) != null) { String result = config0 + info.getName() + " already exists."; + logger.warn(result); return new Response<>(0, result, null); } else { Config config = new Config(info.getName(), info.getValue(), info.getDescription()); repository.save(config); + logger.info("Config: ({}) create success", info); return new Response<>(1, "Create success", config); } } @@ -37,10 +43,12 @@ public Response create(Config info, HttpHeaders headers) { public Response update(Config info, HttpHeaders headers) { if (repository.findByName(info.getName()) == null) { String result = config0 + info.getName() + " doesn't exist."; + logger.warn(result); return new Response<>(0, result, null); } else { Config config = new Config(info.getName(), info.getValue(), info.getDescription()); repository.save(config); + logger.info("Config: ({}) update success", config); return new Response<>(1, "Update success", config); } } @@ -50,8 +58,10 @@ public Response update(Config info, HttpHeaders headers) { public Response query(String name, HttpHeaders headers) { Config config = repository.findByName(name); if (config == null) { + logger.warn("Config does not exist, name: {}, message: {}", name, "No content"); return new Response<>(0, "No content", null); } else { + logger.info("Query config {} success", name); return new Response<>(1, "Success", config); } } @@ -61,9 +71,11 @@ public Response delete(String name, HttpHeaders headers) { Config config = repository.findByName(name); if (config == null) { String result = config0 + name + " doesn't exist."; + logger.warn(result); return new Response<>(0, result, null); } else { repository.deleteByName(name); + logger.info("Config {} delete success", name); return new Response<>(1, "Delete success", config); } } @@ -73,8 +85,10 @@ public Response queryAll(HttpHeaders headers) { List configList = repository.findAll(); if (configList != null && !configList.isEmpty()) { + logger.info("Query all config success"); return new Response<>(1, "Find all config success", configList); } else { + logger.warn("Query config: {}", "No content"); return new Response<>(0, "No content", null); } } diff --git a/ts-consign-price-service/Dockerfile b/ts-consign-price-service/Dockerfile index 2f2b6a28e..1d7c87766 100644 --- a/ts-consign-price-service/Dockerfile +++ b/ts-consign-price-service/Dockerfile @@ -3,6 +3,6 @@ FROM java:8-jre RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone ADD ./target/ts-consign-price-service-1.0.jar /app/ -CMD ["java", "-Xmx200m", "-jar", "/app/ts-consign-price-service-1.0.jar"] +CMD ["java", "-Xmx200m", "-jar", "/app/ts-consign-price-service-1.0.jar"] EXPOSE 16110 \ No newline at end of file diff --git a/ts-consign-price-service/pom.xml b/ts-consign-price-service/pom.xml index c372c782b..da9d6dd43 100644 --- a/ts-consign-price-service/pom.xml +++ b/ts-consign-price-service/pom.xml @@ -33,6 +33,8 @@ ts-common 0.1.0 + + diff --git a/ts-consign-price-service/src/main/java/consignprice/controller/ConsignPriceController.java b/ts-consign-price-service/src/main/java/consignprice/controller/ConsignPriceController.java index 78d7dde41..b5b4ff1a9 100644 --- a/ts-consign-price-service/src/main/java/consignprice/controller/ConsignPriceController.java +++ b/ts-consign-price-service/src/main/java/consignprice/controller/ConsignPriceController.java @@ -2,6 +2,8 @@ import consignprice.entity.ConsignPrice; import consignprice.service.ConsignPriceService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; @@ -19,6 +21,8 @@ public class ConsignPriceController { @Autowired ConsignPriceService service; + private static final Logger logger = LoggerFactory.getLogger(ConsignPriceController.class); + @GetMapping(path = "/welcome") public String home(@RequestHeader HttpHeaders headers) { return "Welcome to [ ConsignPrice Service ] !"; @@ -27,23 +31,27 @@ public String home(@RequestHeader HttpHeaders headers) { @GetMapping(value = "/consignprice/{weight}/{isWithinRegion}") public HttpEntity getPriceByWeightAndRegion(@PathVariable String weight, @PathVariable String isWithinRegion, @RequestHeader HttpHeaders headers) { + logger.info("Get price by weight: {}, regin: {}", weight, isWithinRegion); return ok(service.getPriceByWeightAndRegion(Double.parseDouble(weight), Boolean.parseBoolean(isWithinRegion), headers)); } @GetMapping(value = "/consignprice/price") public HttpEntity getPriceInfo(@RequestHeader HttpHeaders headers) { + logger.info("Get price info"); return ok(service.queryPriceInformation(headers)); } @GetMapping(value = "/consignprice/config") public HttpEntity getPriceConfig(@RequestHeader HttpHeaders headers) { + logger.info("Get price config"); return ok(service.getPriceConfig(headers)); } @PostMapping(value = "/consignprice") public HttpEntity modifyPriceConfig(@RequestBody ConsignPrice priceConfig, @RequestHeader HttpHeaders headers) { + logger.info("Create and modify price, config: {}", priceConfig); return ok(service.createAndModifyPrice(priceConfig, headers)); } } diff --git a/ts-consign-price-service/src/main/java/consignprice/service/ConsignPriceServiceImpl.java b/ts-consign-price-service/src/main/java/consignprice/service/ConsignPriceServiceImpl.java index 14b099f23..e93098004 100644 --- a/ts-consign-price-service/src/main/java/consignprice/service/ConsignPriceServiceImpl.java +++ b/ts-consign-price-service/src/main/java/consignprice/service/ConsignPriceServiceImpl.java @@ -58,7 +58,7 @@ public Response queryPriceInformation(HttpHeaders headers) { @Override public Response createAndModifyPrice(ConsignPrice config, HttpHeaders headers) { - ConsignPriceServiceImpl.LOGGER.info("[Consign Price Service][Create New Price Config]"); + ConsignPriceServiceImpl.LOGGER.info("[Create New Price Config]"); //update price ConsignPrice originalConfig; if (repository.findByIndex(0) != null) { diff --git a/ts-consign-service/Dockerfile b/ts-consign-service/Dockerfile index 33bf0b991..d592b2afb 100644 --- a/ts-consign-service/Dockerfile +++ b/ts-consign-service/Dockerfile @@ -3,6 +3,6 @@ FROM java:8-jre RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone ADD ./target/ts-consign-service-1.0.jar /app/ -CMD ["java", "-Xmx200m", "-jar", "/app/ts-consign-service-1.0.jar"] +CMD ["java", "-Xmx200m", "-jar", "/app/ts-consign-service-1.0.jar"] EXPOSE 16111 \ No newline at end of file diff --git a/ts-consign-service/pom.xml b/ts-consign-service/pom.xml index beba862ad..82b79ae3a 100644 --- a/ts-consign-service/pom.xml +++ b/ts-consign-service/pom.xml @@ -33,6 +33,8 @@ ts-common 0.1.0 + + diff --git a/ts-consign-service/src/main/java/consign/controller/ConsignController.java b/ts-consign-service/src/main/java/consign/controller/ConsignController.java index 52f6f4eef..11f46a22a 100644 --- a/ts-consign-service/src/main/java/consign/controller/ConsignController.java +++ b/ts-consign-service/src/main/java/consign/controller/ConsignController.java @@ -2,6 +2,8 @@ import consign.entity.Consign; import consign.service.ConsignService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; @@ -21,6 +23,8 @@ public class ConsignController { @Autowired ConsignService service; + private static final Logger logger = LoggerFactory.getLogger(ConsignController.class); + @GetMapping(path = "/welcome") public String home(@RequestHeader HttpHeaders headers) { return "Welcome to [ Consign Service ] !"; @@ -29,28 +33,33 @@ public String home(@RequestHeader HttpHeaders headers) { @PostMapping(value = "/consigns") public HttpEntity insertConsign(@RequestBody Consign request, @RequestHeader HttpHeaders headers) { + logger.info("Insert consign record, id:{}", request.getId()); return ok(service.insertConsignRecord(request, headers)); } @PutMapping(value = "/consigns") public HttpEntity updateConsign(@RequestBody Consign request, @RequestHeader HttpHeaders headers) { + logger.info("Update consign record, id: {}", request.getId()); return ok(service.updateConsignRecord(request, headers)); } @GetMapping(value = "/consigns/account/{id}") public HttpEntity findByAccountId(@PathVariable String id, @RequestHeader HttpHeaders headers) { + logger.info("Find consign by account id: {}", id); UUID newid = UUID.fromString(id); return ok(service.queryByAccountId(newid, headers)); } @GetMapping(value = "/consigns/order/{id}") public HttpEntity findByOrderId(@PathVariable String id, @RequestHeader HttpHeaders headers) { + logger.info("Find consign by order id: {}", id); UUID newid = UUID.fromString(id); return ok(service.queryByOrderId(newid, headers)); } @GetMapping(value = "/consigns/{consignee}") public HttpEntity findByConsignee(@PathVariable String consignee, @RequestHeader HttpHeaders headers) { + logger.info("Find consign by consignee: {}", consignee); return ok(service.queryByConsignee(consignee, headers)); } diff --git a/ts-consign-service/src/main/java/consign/service/ConsignServiceImpl.java b/ts-consign-service/src/main/java/consign/service/ConsignServiceImpl.java index fe3135583..d03239dc9 100644 --- a/ts-consign-service/src/main/java/consign/service/ConsignServiceImpl.java +++ b/ts-consign-service/src/main/java/consign/service/ConsignServiceImpl.java @@ -33,7 +33,7 @@ public class ConsignServiceImpl implements ConsignService { @Override public Response insertConsignRecord(Consign consignRequest, HttpHeaders headers) { - ConsignServiceImpl.LOGGER.info("[Consign servie] [ Insert new consign record] {}", consignRequest.getOrderId()); + ConsignServiceImpl.LOGGER.info("[ Insert new consign record] {}", consignRequest.getOrderId()); ConsignRecord consignRecord = new ConsignRecord(); //Set the record attribute @@ -69,11 +69,11 @@ public Response insertConsignRecord(Consign consignRequest, HttpHeaders headers) @Override public Response updateConsignRecord(Consign consignRequest, HttpHeaders headers) { - ConsignServiceImpl.LOGGER.info("[Consign servie] [ Update consign record]"); + ConsignServiceImpl.LOGGER.info("[ Update consign record]"); ConsignRecord originalRecord = repository.findById(consignRequest.getId()); if (originalRecord == null) { - return this.insertConsignRecord(consignRequest, headers); + return insertConsignRecord(consignRequest, headers); } originalRecord.setAccountId(consignRequest.getAccountId()); originalRecord.setHandleDate(consignRequest.getHandleDate()); @@ -109,6 +109,7 @@ public Response queryByAccountId(UUID accountId, HttpHeaders headers) { if (consignRecords != null && !consignRecords.isEmpty()) { return new Response<>(1, "Find consign by account id success", consignRecords); }else { + LOGGER.warn("No Content according to accountId: {}", accountId); return new Response<>(0, "No Content according to accountId", null); } } @@ -119,6 +120,7 @@ public Response queryByOrderId(UUID orderId, HttpHeaders headers) { if (consignRecords != null ) { return new Response<>(1, "Find consign by order id success", consignRecords); }else { + LOGGER.warn("No Content according to orderId: {}", orderId); return new Response<>(0, "No Content according to order id", null); } } @@ -129,6 +131,7 @@ public Response queryByConsignee(String consignee, HttpHeaders headers) { if (consignRecords != null && !consignRecords.isEmpty()) { return new Response<>(1, "Find consign by consignee success", consignRecords); }else { + LOGGER.warn("No Content according to consignee: {}", consignee); return new Response<>(0, "No Content according to consignee", null); } } diff --git a/ts-contacts-service/Dockerfile b/ts-contacts-service/Dockerfile index 1acca9397..35be04a09 100644 --- a/ts-contacts-service/Dockerfile +++ b/ts-contacts-service/Dockerfile @@ -3,6 +3,6 @@ FROM java:8-jre RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone ADD ./target/ts-contacts-service-1.0.jar /app/ -CMD ["java", "-Xmx200m", "-jar", "/app/ts-contacts-service-1.0.jar"] +CMD ["java", "-Xmx200m", "-jar", "/app/ts-contacts-service-1.0.jar"] EXPOSE 12347 \ No newline at end of file diff --git a/ts-contacts-service/pom.xml b/ts-contacts-service/pom.xml index 02dd341ac..620ab29be 100644 --- a/ts-contacts-service/pom.xml +++ b/ts-contacts-service/pom.xml @@ -33,6 +33,8 @@ ts-common 0.1.0 + + diff --git a/ts-contacts-service/src/main/java/contacts/service/ContactsServiceImpl.java b/ts-contacts-service/src/main/java/contacts/service/ContactsServiceImpl.java index 8ca086187..fe9d9cb41 100644 --- a/ts-contacts-service/src/main/java/contacts/service/ContactsServiceImpl.java +++ b/ts-contacts-service/src/main/java/contacts/service/ContactsServiceImpl.java @@ -33,6 +33,7 @@ public Response findContactsById(UUID id, HttpHeaders headers) { if (contacts != null) { return new Response<>(1, success, contacts); } else { + LOGGER.error("No contacts according to contactsId: {}", id); return new Response<>(0, "No contacts according to contacts id", null); } } @@ -48,7 +49,7 @@ public Response findContactsByAccountId(UUID accountId, HttpHeaders headers) { public Response createContacts(Contacts contacts, HttpHeaders headers) { Contacts contactsTemp = contactsRepository.findById(contacts.getId()); if (contactsTemp != null) { - ContactsServiceImpl.LOGGER.info("[Contacts Service][Init Contacts] Already Exists Id: {}", contacts.getId()); + ContactsServiceImpl.LOGGER.warn("[Contacts Service][Init Contacts] Already Exists Id: {}", contacts.getId()); return new Response<>(0, "Already Exists", contactsTemp); } else { contactsRepository.save(contacts); @@ -69,7 +70,7 @@ public Response create(Contacts addContacts, HttpHeaders headers) { ArrayList accountContacts = contactsRepository.findByAccountId(addContacts.getAccountId()); if (accountContacts.contains(contacts)) { - ContactsServiceImpl.LOGGER.info("[Contacts-Add&Delete-Service][AddContacts] Fail.Contacts already exists"); + ContactsServiceImpl.LOGGER.warn("[Contacts-Add&Delete-Service][AddContacts] Fail.Contacts already exists, contactId: {}", addContacts.getId()); return new Response<>(0, "Contacts already exists", null); } else { contactsRepository.save(contacts); @@ -86,18 +87,19 @@ public Response delete(UUID contactsId, HttpHeaders headers) { ContactsServiceImpl.LOGGER.info("[Contacts-Add&Delete-Service][DeleteContacts] Success."); return new Response<>(1, "Delete success", contactsId); } else { - ContactsServiceImpl.LOGGER.info("[Contacts-Add&Delete-Service][DeleteContacts] Fail.Reason not clear."); + ContactsServiceImpl.LOGGER.error("[Contacts-Add&Delete-Service][DeleteContacts] Fail.Reason not clear, contactsId: {}", contactsId); return new Response<>(0, "Delete failed", contactsId); } } @Override public Response modify(Contacts contacts, HttpHeaders headers) { + headers = null; Response oldContactResponse = findContactsById(contacts.getId(), headers); LOGGER.info(oldContactResponse.toString()); Contacts oldContacts = (Contacts) oldContactResponse.getData(); if (oldContacts == null) { - ContactsServiceImpl.LOGGER.info("[Contacts-Modify-Service][ModifyContacts] Fail.Contacts not found."); + ContactsServiceImpl.LOGGER.error("[Contacts-Modify-Service][ModifyContacts] Fail.Contacts not found, contactId: {}", contacts.getId()); return new Response<>(0, "Contacts not found", null); } else { oldContacts.setName(contacts.getName()); @@ -116,6 +118,7 @@ public Response getAllContacts(HttpHeaders headers) { if (contacts != null && !contacts.isEmpty()) { return new Response<>(1, success, contacts); } else { + LOGGER.error("Get all contacts error, message: {}", "No content"); return new Response<>(0, "No content", null); } } diff --git a/ts-delivery-service/Dockerfile b/ts-delivery-service/Dockerfile new file mode 100644 index 000000000..619afbee4 --- /dev/null +++ b/ts-delivery-service/Dockerfile @@ -0,0 +1,8 @@ +FROM java:8-jre + +RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone + +ADD ./target/ts-delivery-service-1.0.jar /app/ +CMD ["java", "-Xmx200m", "-jar", "/app/ts-delivery-service-1.0.jar"] + +EXPOSE 18856 diff --git a/ts-delivery-service/pom.xml b/ts-delivery-service/pom.xml new file mode 100644 index 000000000..6d80ce0a2 --- /dev/null +++ b/ts-delivery-service/pom.xml @@ -0,0 +1,55 @@ + + + + fdse.microservice + ts-delivery-service + 1.0 + jar + + ts-delivery-service + + + org.services + ts-service + 0.1.0 + ../ + + + + UTF-8 + 1.8 + + + 4.0.0 + + + + org.springframework.boot + spring-boot-starter-data-mongodb + + + + org.springframework.boot + spring-boot-starter-amqp + + + + org.services + ts-common + 0.1.0 + + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + + \ No newline at end of file diff --git a/ts-delivery-service/src/main/java/delivery/DeliveryApplication.java b/ts-delivery-service/src/main/java/delivery/DeliveryApplication.java new file mode 100644 index 000000000..a10b60b31 --- /dev/null +++ b/ts-delivery-service/src/main/java/delivery/DeliveryApplication.java @@ -0,0 +1,26 @@ +package delivery; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.web.client.RestTemplateBuilder; +import org.springframework.context.annotation.Bean; +import org.springframework.web.client.RestTemplate; +import springfox.documentation.swagger2.annotations.EnableSwagger2; + + +/** + * @author humbertzhang + */ +@SpringBootApplication +@EnableSwagger2 +public class DeliveryApplication { + + public static void main(String[] args) { + SpringApplication.run(DeliveryApplication.class, args); + } + + @Bean + public RestTemplate restTemplate(RestTemplateBuilder builder) { + return builder.build(); + } +} diff --git a/ts-delivery-service/src/main/java/delivery/config/Queues.java b/ts-delivery-service/src/main/java/delivery/config/Queues.java new file mode 100644 index 000000000..a9ed533e8 --- /dev/null +++ b/ts-delivery-service/src/main/java/delivery/config/Queues.java @@ -0,0 +1,16 @@ +package delivery.config; + +import org.springframework.amqp.core.Queue; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class Queues { + + public final static String queueName = "food_delivery"; + + @Bean + public Queue emailQueue() { + return new Queue(queueName); + } +} diff --git a/ts-delivery-service/src/main/java/delivery/entity/Delivery.java b/ts-delivery-service/src/main/java/delivery/entity/Delivery.java new file mode 100644 index 000000000..c86a28756 --- /dev/null +++ b/ts-delivery-service/src/main/java/delivery/entity/Delivery.java @@ -0,0 +1,27 @@ +package delivery.entity; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import lombok.AllArgsConstructor; +import lombok.Data; +import org.springframework.data.annotation.Id; +import org.springframework.data.mongodb.core.mapping.Document; + +import java.util.UUID; + +@Data +@AllArgsConstructor +@Document(collection = "delivery") +@JsonIgnoreProperties(ignoreUnknown = true) +public class Delivery { + public Delivery() { + //Default Constructor + } + + @Id + private UUID id; + + private UUID orderId; + private String foodName; + private String storeName; + private String stationName; +} diff --git a/ts-delivery-service/src/main/java/delivery/mq/RabbitReceive.java b/ts-delivery-service/src/main/java/delivery/mq/RabbitReceive.java new file mode 100644 index 000000000..e6108d367 --- /dev/null +++ b/ts-delivery-service/src/main/java/delivery/mq/RabbitReceive.java @@ -0,0 +1,56 @@ +package delivery.mq; + +import delivery.config.Queues; +import delivery.entity.Delivery; +import delivery.repository.DeliveryRepository; +import edu.fudan.common.util.JsonUtils; +import edu.fudan.common.util.Response; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.amqp.rabbit.annotation.RabbitListener; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.ParameterizedTypeReference; +import org.springframework.http.HttpMethod; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Component; +import org.springframework.web.client.RestTemplate; + +import java.util.UUID; + + +@Component +public class RabbitReceive { + + private static final Logger logger = LoggerFactory.getLogger(RabbitReceive.class); + + @Autowired + private RestTemplate restTemplate; + + @Autowired + private DeliveryRepository deliveryRepository; + + + @RabbitListener(queues = Queues.queueName) + public void process(String payload) { + Delivery delivery = JsonUtils.json2Object(payload, Delivery.class); + + if (delivery == null) { + logger.error("Receive delivery object is null, error."); + return; + } + logger.info("Receive delivery object:" + delivery); + + if (delivery.getId() == null) { + delivery.setId(UUID.randomUUID()); + } + + try { + deliveryRepository.save(delivery); + logger.info("Save delivery object into database success"); + } catch (Exception e) { + logger.error("Save delivery object into database failed, exception [{}]", e.toString()); + } + } +} diff --git a/ts-delivery-service/src/main/java/delivery/repository/DeliveryRepository.java b/ts-delivery-service/src/main/java/delivery/repository/DeliveryRepository.java new file mode 100644 index 000000000..a4999d42e --- /dev/null +++ b/ts-delivery-service/src/main/java/delivery/repository/DeliveryRepository.java @@ -0,0 +1,26 @@ +package delivery.repository; + +import delivery.entity.Delivery; +import org.springframework.data.mongodb.repository.MongoRepository; +import org.springframework.data.mongodb.repository.Query; +import org.springframework.stereotype.Repository; + +import java.util.List; +import java.util.UUID; + +@Repository +public interface DeliveryRepository extends MongoRepository { + + Delivery findById(UUID id); + + @Query("{ 'orderId' : ?0 }") + Delivery findByOrderId(UUID orderId); + + @Override + List findAll(); + + void deleteById(UUID id); + + void deleteFoodOrderByOrderId(UUID id); + +} diff --git a/ts-delivery-service/src/main/resources/application.yml b/ts-delivery-service/src/main/resources/application.yml new file mode 100644 index 000000000..fc879bd22 --- /dev/null +++ b/ts-delivery-service/src/main/resources/application.yml @@ -0,0 +1,14 @@ +server: + port: 18808 + +spring: + application: + name: ts-delivery-service + data: + mongodb: + host: ${mongohost:ts-delivery-mongo} + database: ts + port: 27017 + rabbitmq: + host: ${rabbitmq_host:localhost} + port: ${rabbitmq_port:5672} diff --git a/ts-execute-service/Dockerfile b/ts-execute-service/Dockerfile index 324c0760f..b97ab4739 100644 --- a/ts-execute-service/Dockerfile +++ b/ts-execute-service/Dockerfile @@ -3,6 +3,6 @@ FROM java:8-jre RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone ADD ./target/ts-execute-service-1.0.jar /app/ -CMD ["java", "-Xmx200m", "-jar", "/app/ts-execute-service-1.0.jar"] +CMD ["java", "-Xmx200m", "-jar", "/app/ts-execute-service-1.0.jar"] EXPOSE 12386 \ No newline at end of file diff --git a/ts-execute-service/pom.xml b/ts-execute-service/pom.xml index 6eaa7af85..9fc91efd8 100644 --- a/ts-execute-service/pom.xml +++ b/ts-execute-service/pom.xml @@ -29,6 +29,8 @@ ts-common 0.1.0 + + diff --git a/ts-execute-service/src/main/java/execute/controller/ExecuteControlller.java b/ts-execute-service/src/main/java/execute/controller/ExecuteControlller.java index 6f198f5b8..0d85594a7 100644 --- a/ts-execute-service/src/main/java/execute/controller/ExecuteControlller.java +++ b/ts-execute-service/src/main/java/execute/controller/ExecuteControlller.java @@ -30,7 +30,7 @@ public String home(@RequestHeader HttpHeaders headers) { @CrossOrigin(origins = "*") @GetMapping(path = "/execute/execute/{orderId}") public HttpEntity executeTicket(@PathVariable String orderId, @RequestHeader HttpHeaders headers) { - ExecuteControlller.LOGGER.info("[Execute Service][Execute] Id: {}", orderId); + ExecuteControlller.LOGGER.info("[Execute] Id: {}", orderId); // null return ok(executeService.ticketExecute(orderId, headers)); } @@ -38,7 +38,7 @@ public HttpEntity executeTicket(@PathVariable String orderId, @RequestHeader Htt @CrossOrigin(origins = "*") @GetMapping(path = "/execute/collected/{orderId}") public HttpEntity collectTicket(@PathVariable String orderId, @RequestHeader HttpHeaders headers) { - ExecuteControlller.LOGGER.info("[Execute Service][Collect] Id: {}", orderId); + ExecuteControlller.LOGGER.info("[Collect] Id: {}", orderId); // null return ok(executeService.ticketCollect(orderId, headers)); } diff --git a/ts-execute-service/src/main/java/execute/serivce/ExecuteServiceImpl.java b/ts-execute-service/src/main/java/execute/serivce/ExecuteServiceImpl.java index 84480cf5a..06f20390c 100644 --- a/ts-execute-service/src/main/java/execute/serivce/ExecuteServiceImpl.java +++ b/ts-execute-service/src/main/java/execute/serivce/ExecuteServiceImpl.java @@ -30,12 +30,14 @@ public class ExecuteServiceImpl implements ExecuteService { public Response ticketExecute(String orderId, HttpHeaders headers) { //1.Get order information + headers = null; Response resultFromOrder = getOrderByIdFromOrder(orderId, headers); Order order; if (resultFromOrder.getStatus() == 1) { order = resultFromOrder.getData(); //2.Check if the order can come in if (order.getStatus() != OrderStatus.COLLECTED.getCode()) { + LOGGER.error("ticket execute error: {}, orderId: {}", orderStatusWrong, orderId); return new Response<>(0, orderStatusWrong, null); } //3.Confirm inbound, request change order information @@ -44,6 +46,7 @@ public Response ticketExecute(String orderId, HttpHeaders headers) { if (resultExecute.getStatus() == 1) { return new Response<>(1, "Success.", null); } else { + LOGGER.error("executeOrder error: {}, orderId: {}", resultExecute.getMsg(), orderId); return new Response<>(0, resultExecute.getMsg(), null); } } else { @@ -52,6 +55,7 @@ public Response ticketExecute(String orderId, HttpHeaders headers) { order = resultFromOrder.getData(); //2.Check if the order can come in if (order.getStatus() != OrderStatus.COLLECTED.getCode()) { + LOGGER.error("ticket execute error: {}, orderId: {}", orderStatusWrong, orderId); return new Response<>(0, orderStatusWrong, null); } //3.Confirm inbound, request change order information @@ -60,9 +64,11 @@ public Response ticketExecute(String orderId, HttpHeaders headers) { if (resultExecute.getStatus() == 1) { return new Response<>(1, "Success", null); } else { + LOGGER.error("executeOrderOther error: {}, orderId: {}", resultExecute.getMsg(), orderId); return new Response<>(0, resultExecute.getMsg(), null); } } else { + LOGGER.error("ticker execute error: {}, , orderId: {}", "Order Not Found", orderId); return new Response<>(0, "Order Not Found", null); } } @@ -72,12 +78,14 @@ public Response ticketExecute(String orderId, HttpHeaders headers) { public Response ticketCollect(String orderId, HttpHeaders headers) { //1.Get order information + headers = null; Response resultFromOrder = getOrderByIdFromOrder(orderId, headers); Order order; if (resultFromOrder.getStatus() == 1) { order = resultFromOrder.getData(); //2.Check if the order can come in if (order.getStatus() != OrderStatus.PAID.getCode() && order.getStatus() != OrderStatus.CHANGE.getCode()) { + LOGGER.error("ticket collect error: {}, orderId: {}", orderStatusWrong, orderId); return new Response<>(0, orderStatusWrong, null); } //3.Confirm inbound, request change order information @@ -86,6 +94,7 @@ public Response ticketCollect(String orderId, HttpHeaders headers) { if (resultExecute.getStatus() == 1) { return new Response<>(1, "Success", null); } else { + LOGGER.error("ticket collect error: {}, orderId: {}", resultExecute.getMsg(), orderId); return new Response<>(0, resultExecute.getMsg(), null); } } else { @@ -94,6 +103,7 @@ public Response ticketCollect(String orderId, HttpHeaders headers) { order = (Order) resultFromOrder.getData(); //2.Check if the order can come in if (order.getStatus() != OrderStatus.PAID.getCode() && order.getStatus() != OrderStatus.CHANGE.getCode()) { + LOGGER.error("ticket collect error: {}, orderId: {}", orderStatusWrong, orderId); return new Response<>(0, orderStatusWrong, null); } //3.Confirm inbound, request change order information @@ -101,9 +111,11 @@ public Response ticketCollect(String orderId, HttpHeaders headers) { if (resultExecute.getStatus() == 1) { return new Response<>(1, "Success.", null); } else { + LOGGER.error("ticket collect error: {}, orderId: {}", resultExecute.getMsg(), orderId); return new Response<>(0, resultExecute.getMsg(), null); } } else { + LOGGER.error("ticket collect error: {}, orderId: {}", "Order Not Found", orderId); return new Response<>(0, "Order Not Found", null); } } @@ -112,6 +124,7 @@ public Response ticketCollect(String orderId, HttpHeaders headers) { private Response executeOrder(String orderId, int status, HttpHeaders headers) { ExecuteServiceImpl.LOGGER.info("[Execute Service][Execute Order] Executing...."); + headers = null; HttpEntity requestEntity = new HttpEntity(headers); ResponseEntity re = restTemplate.exchange( "http://ts-order-service:12031/api/v1/orderservice/order/status/" + orderId + "/" + status, @@ -124,6 +137,7 @@ private Response executeOrder(String orderId, int status, HttpHeaders headers) { private Response executeOrderOther(String orderId, int status, HttpHeaders headers) { ExecuteServiceImpl.LOGGER.info("[Execute Service][Execute Order] Executing...."); + headers = null; HttpEntity requestEntity = new HttpEntity(headers); ResponseEntity re = restTemplate.exchange( "http://ts-order-other-service:12032/api/v1/orderOtherService/orderOther/status/" + orderId + "/" + status, @@ -135,6 +149,7 @@ private Response executeOrderOther(String orderId, int status, HttpHeaders heade private Response getOrderByIdFromOrder(String orderId, HttpHeaders headers) { ExecuteServiceImpl.LOGGER.info("[Execute Service][Get Order] Getting...."); + headers = null; HttpEntity requestEntity = new HttpEntity(headers); ResponseEntity> re = restTemplate.exchange( "http://ts-order-service:12031/api/v1/orderservice/order/" + orderId, @@ -147,6 +162,7 @@ private Response getOrderByIdFromOrder(String orderId, HttpHeaders header private Response getOrderByIdFromOrderOther(String orderId, HttpHeaders headers) { ExecuteServiceImpl.LOGGER.info("[Execute Service][Get Order] Getting...."); + headers = null; HttpEntity requestEntity = new HttpEntity(headers); ResponseEntity> re = restTemplate.exchange( "http://ts-order-other-service:12032/api/v1/orderOtherService/orderOther/" + orderId, diff --git a/ts-food-map-service/Dockerfile b/ts-food-map-service/Dockerfile index b429b616a..a1fee049f 100644 --- a/ts-food-map-service/Dockerfile +++ b/ts-food-map-service/Dockerfile @@ -3,6 +3,6 @@ FROM java:8-jre RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone ADD ./target/ts-food-map-service-1.0.jar /app/ -CMD ["java", "-Xmx200m", "-jar", "/app/ts-food-map-service-1.0.jar"] +CMD ["java", "-Xmx200m", "-jar", "/app/ts-food-map-service-1.0.jar"] EXPOSE 18855 \ No newline at end of file diff --git a/ts-food-map-service/pom.xml b/ts-food-map-service/pom.xml index 344dc4447..ec47a24b7 100644 --- a/ts-food-map-service/pom.xml +++ b/ts-food-map-service/pom.xml @@ -41,6 +41,8 @@ ts-common 0.1.0 + + diff --git a/ts-food-map-service/src/main/java/food/controller/FoodStoreController.java b/ts-food-map-service/src/main/java/food/controller/FoodStoreController.java index cf51bb1bd..0ea96fc18 100644 --- a/ts-food-map-service/src/main/java/food/controller/FoodStoreController.java +++ b/ts-food-map-service/src/main/java/food/controller/FoodStoreController.java @@ -43,6 +43,7 @@ public HttpEntity getFoodStoresOfStation(@PathVariable String stationId, @Reques @CrossOrigin(origins = "*") @PostMapping("/foodstores") public HttpEntity getFoodStoresByStationIds(@RequestBody List stationIdList) { + FoodStoreController.LOGGER.info("[Food Map Service][Get FoodStores By StationIds]"); return ok(foodMapService.getFoodStoresByStationIds(stationIdList)); } } diff --git a/ts-food-map-service/src/main/java/food/service/FoodMapServiceImpl.java b/ts-food-map-service/src/main/java/food/service/FoodMapServiceImpl.java index 9158f6dca..a12273305 100644 --- a/ts-food-map-service/src/main/java/food/service/FoodMapServiceImpl.java +++ b/ts-food-map-service/src/main/java/food/service/FoodMapServiceImpl.java @@ -32,7 +32,7 @@ public class FoodMapServiceImpl implements FoodMapService { public Response createFoodStore(FoodStore fs, HttpHeaders headers) { FoodStore fsTemp = foodStoreRepository.findById(fs.getId()); if (fsTemp != null) { - FoodMapServiceImpl.LOGGER.info("[Food Map Service][Init FoodStore] Already Exists Id: {}", fs.getId()); + FoodMapServiceImpl.LOGGER.error("[Init FoodStore] Already Exists Id: {}", fs.getId()); return new Response<>(0, "Already Exists Id", null); } else { foodStoreRepository.save(fs); @@ -44,7 +44,7 @@ public Response createFoodStore(FoodStore fs, HttpHeaders headers) { public TrainFood createTrainFood(TrainFood tf, HttpHeaders headers) { TrainFood tfTemp = trainFoodRepository.findById(tf.getId()); if (tfTemp != null) { - FoodMapServiceImpl.LOGGER.info("[Food Map Service][Init TrainFood] Already Exists Id: {}", tf.getId()); + FoodMapServiceImpl.LOGGER.error("[Init TrainFood] Already Exists Id: {}", tf.getId()); } else { trainFoodRepository.save(tf); } @@ -57,7 +57,8 @@ public Response listFoodStores(HttpHeaders headers) { if (foodStores != null && !foodStores.isEmpty()) { return new Response<>(1, success, foodStores); } else { - return new Response<>(0, "Foodstore is empty", null); + FoodMapServiceImpl.LOGGER.error("List food stores error: {}", "Food store is empty"); + return new Response<>(0, "Food store is empty", null); } } @@ -67,6 +68,7 @@ public Response listTrainFood(HttpHeaders headers) { if (trainFoodList != null && !trainFoodList.isEmpty()) { return new Response<>(1, success, trainFoodList); } else { + FoodMapServiceImpl.LOGGER.error("List train food error: {}", noContent); return new Response<>(0, noContent, null); } } @@ -77,7 +79,8 @@ public Response listFoodStoresByStationId(String stationId, HttpHeaders headers) if (foodStoreList != null && !foodStoreList.isEmpty()) { return new Response<>(1, success, foodStoreList); } else { - return new Response<>(0, "FoodStore is empty", null); + FoodMapServiceImpl.LOGGER.error("List food stores by station id error: {}, stationId: {}", "Food store is empty", stationId); + return new Response<>(0, "Food store is empty", null); } } @@ -87,6 +90,7 @@ public Response listTrainFoodByTripId(String tripId, HttpHeaders headers) { if (trainFoodList != null) { return new Response<>(1, success, trainFoodList); } else { + FoodMapServiceImpl.LOGGER.error("List train food by trip id error: {}, tripId: {}", noContent, tripId); return new Response<>(0, noContent, null); } } @@ -97,6 +101,7 @@ public Response getFoodStoresByStationIds(List stationIds) { if (foodStoreList != null) { return new Response<>(1, success, foodStoreList); } else { + FoodMapServiceImpl.LOGGER.error("List food stores by station ids error: {}, stationId list: {}", "Food store is empty", stationIds); return new Response<>(0, noContent, null); } } diff --git a/ts-food-map-service/src/test/java/food/service/FoodMapServiceImplTest.java b/ts-food-map-service/src/test/java/food/service/FoodMapServiceImplTest.java index 25614fbb1..b01b388fe 100644 --- a/ts-food-map-service/src/test/java/food/service/FoodMapServiceImplTest.java +++ b/ts-food-map-service/src/test/java/food/service/FoodMapServiceImplTest.java @@ -83,7 +83,7 @@ public void testListFoodStores1() { public void testListFoodStores2() { Mockito.when(foodStoreRepository.findAll()).thenReturn(null); Response result = foodMapServiceImpl.listFoodStores(headers); - Assert.assertEquals(new Response<>(0, "Foodstore is empty", null), result); + Assert.assertEquals(new Response<>(0, "Food store is empty", null), result); } @Test @@ -115,7 +115,7 @@ public void testListFoodStoresByStationId1() { public void testListFoodStoresByStationId2() { Mockito.when(foodStoreRepository.findByStationId(Mockito.anyString())).thenReturn(null); Response result = foodMapServiceImpl.listFoodStoresByStationId("station_id", headers); - Assert.assertEquals(new Response<>(0, "FoodStore is empty", null), result); + Assert.assertEquals(new Response<>(0, "Food store is empty", null), result); } @Test diff --git a/ts-food-service/Dockerfile b/ts-food-service/Dockerfile index 6065c01d2..bf68dd49c 100644 --- a/ts-food-service/Dockerfile +++ b/ts-food-service/Dockerfile @@ -3,6 +3,6 @@ FROM java:8-jre RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone ADD ./target/ts-food-service-1.0.jar /app/ -CMD ["java", "-Xmx200m", "-jar", "/app/ts-food-service-1.0.jar"] +CMD ["java", "-Xmx200m", "-jar", "/app/ts-food-service-1.0.jar"] EXPOSE 18856 \ No newline at end of file diff --git a/ts-food-service/pom.xml b/ts-food-service/pom.xml index 4cadc2de6..eab4c983b 100644 --- a/ts-food-service/pom.xml +++ b/ts-food-service/pom.xml @@ -36,11 +36,19 @@ org.springframework.boot spring-boot-starter-actuator + + + org.springframework.boot + spring-boot-starter-amqp + + org.services ts-common 0.1.0 + + diff --git a/ts-food-service/src/main/java/foodsearch/config/Queues.java b/ts-food-service/src/main/java/foodsearch/config/Queues.java new file mode 100644 index 000000000..f0ecf01bb --- /dev/null +++ b/ts-food-service/src/main/java/foodsearch/config/Queues.java @@ -0,0 +1,16 @@ +package foodsearch.config; + +import org.springframework.amqp.core.Queue; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class Queues { + + public final static String queueName = "food_delivery"; + + @Bean + public Queue emailQueue() { + return new Queue(queueName); + } +} diff --git a/ts-food-service/src/main/java/foodsearch/controller/FoodController.java b/ts-food-service/src/main/java/foodsearch/controller/FoodController.java index 098f321fd..1b81fe5c5 100644 --- a/ts-food-service/src/main/java/foodsearch/controller/FoodController.java +++ b/ts-food-service/src/main/java/foodsearch/controller/FoodController.java @@ -1,6 +1,8 @@ package foodsearch.controller; +import edu.fudan.common.util.JsonUtils; import foodsearch.entity.*; +import foodsearch.mq.RabbitSend; import foodsearch.service.FoodService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -9,6 +11,9 @@ import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.*; + +import java.util.UUID; + import static org.springframework.http.ResponseEntity.ok; @RestController @@ -18,6 +23,9 @@ public class FoodController { @Autowired FoodService foodService; + @Autowired + RabbitSend sender; + private static final Logger LOGGER = LoggerFactory.getLogger(FoodController.class); @GetMapping(path = "/welcome") @@ -25,6 +33,19 @@ public String home() { return "Welcome to [ Food Service ] !"; } + @GetMapping(path = "/test_send_delivery") + public boolean test_send_delivery() { + Delivery delivery = new Delivery(); + delivery.setFoodName("HotPot"); + delivery.setOrderId(UUID.randomUUID()); + delivery.setStationName("Shang Hai"); + delivery.setStoreName("MiaoTing Instant-Boiled Mutton"); + + String deliveryJson = JsonUtils.object2Json(delivery); + sender.send(deliveryJson); + return true; + } + @GetMapping(path = "/orders") public HttpEntity findAllFoodOrder(@RequestHeader HttpHeaders headers) { FoodController.LOGGER.info("[Food Service]Try to Find all FoodOrder!"); diff --git a/ts-food-service/src/main/java/foodsearch/entity/Delivery.java b/ts-food-service/src/main/java/foodsearch/entity/Delivery.java new file mode 100644 index 000000000..4d0690d50 --- /dev/null +++ b/ts-food-service/src/main/java/foodsearch/entity/Delivery.java @@ -0,0 +1,18 @@ +package foodsearch.entity; + +import lombok.Data; + +import java.io.Serializable; +import java.util.UUID; + +@Data +public class Delivery { + public Delivery() { + //Default Constructor + } + + private UUID orderId; + private String foodName; + private String storeName; + private String stationName; +} diff --git a/ts-food-service/src/main/java/foodsearch/mq/RabbitSend.java b/ts-food-service/src/main/java/foodsearch/mq/RabbitSend.java new file mode 100644 index 000000000..3549317e4 --- /dev/null +++ b/ts-food-service/src/main/java/foodsearch/mq/RabbitSend.java @@ -0,0 +1,24 @@ +package foodsearch.mq; + + +import foodsearch.config.Queues; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.amqp.core.AmqpTemplate; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + + +@Component +public class RabbitSend { + + @Autowired + private AmqpTemplate rabbitTemplate; + private static final Logger logger = LoggerFactory.getLogger(RabbitSend.class); + + public void send(String val) { + logger.info("Send info to mq:" + val); + this.rabbitTemplate.convertAndSend(Queues.queueName, val); + } + +} diff --git a/ts-food-service/src/main/java/foodsearch/service/FoodServiceImpl.java b/ts-food-service/src/main/java/foodsearch/service/FoodServiceImpl.java index c8a3f6cb2..c8f48d60e 100644 --- a/ts-food-service/src/main/java/foodsearch/service/FoodServiceImpl.java +++ b/ts-food-service/src/main/java/foodsearch/service/FoodServiceImpl.java @@ -1,7 +1,9 @@ package foodsearch.service; +import edu.fudan.common.util.JsonUtils; import edu.fudan.common.util.Response; import foodsearch.entity.*; +import foodsearch.mq.RabbitSend; import foodsearch.repository.FoodOrderRepository; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -29,6 +31,9 @@ public class FoodServiceImpl implements FoodService { @Autowired private FoodOrderRepository foodOrderRepository; + @Autowired + private RabbitSend sender; + private static final Logger LOGGER = LoggerFactory.getLogger(FoodServiceImpl.class); String success = "Success."; @@ -39,7 +44,7 @@ public Response createFoodOrder(FoodOrder addFoodOrder, HttpHeaders headers) { FoodOrder fo = foodOrderRepository.findByOrderId(addFoodOrder.getOrderId()); if (fo != null) { - FoodServiceImpl.LOGGER.info("[Food-Service][AddFoodOrder] Order Id Has Existed."); + FoodServiceImpl.LOGGER.error("[AddFoodOrder] Order Id Has Existed, OrderId: {}", addFoodOrder.getOrderId()); return new Response<>(0, "Order Id Has Existed.", null); } else { fo = new FoodOrder(); @@ -53,7 +58,22 @@ public Response createFoodOrder(FoodOrder addFoodOrder, HttpHeaders headers) { fo.setFoodName(addFoodOrder.getFoodName()); fo.setPrice(addFoodOrder.getPrice()); foodOrderRepository.save(fo); - FoodServiceImpl.LOGGER.info("[Food-Service][AddFoodOrder] Success."); + FoodServiceImpl.LOGGER.info("[AddFoodOrder] Success."); + + Delivery delivery = new Delivery(); + delivery.setFoodName(addFoodOrder.getFoodName()); + delivery.setOrderId(addFoodOrder.getOrderId()); + delivery.setStationName(addFoodOrder.getStationName()); + delivery.setStoreName(addFoodOrder.getStoreName()); + + String deliveryJson = JsonUtils.object2Json(delivery); + LOGGER.info("[AddFoodOrder] delivery info [{}] send to mq", deliveryJson); + try { + sender.send(deliveryJson); + } catch (Exception e) { + LOGGER.error("[AddFoodOrder] send delivery info to mq error, exception is [{}]", e.toString()); + } + return new Response<>(1, success, fo); } } @@ -62,11 +82,11 @@ public Response createFoodOrder(FoodOrder addFoodOrder, HttpHeaders headers) { public Response deleteFoodOrder(String orderId, HttpHeaders headers) { FoodOrder foodOrder = foodOrderRepository.findByOrderId(UUID.fromString(orderId)); if (foodOrder == null) { - FoodServiceImpl.LOGGER.info("[Food-Service][Cancel FoodOrder] Order Id Is Non-Existent."); + FoodServiceImpl.LOGGER.error("[Cancel FoodOrder] Order Id Is Non-Existent, orderId: {}", orderId); return new Response<>(0, orderIdNotExist, null); } else { foodOrderRepository.deleteFoodOrderByOrderId(UUID.fromString(orderId)); - FoodServiceImpl.LOGGER.info("[Food-Service][Cancel FoodOrder] Success."); + FoodServiceImpl.LOGGER.info("[Cancel FoodOrder] Success."); return new Response<>(1, success, null); } } @@ -77,6 +97,7 @@ public Response findAllFoodOrder(HttpHeaders headers) { if (foodOrders != null && !foodOrders.isEmpty()) { return new Response<>(1, success, foodOrders); } else { + FoodServiceImpl.LOGGER.error("Find all food order error: {}", "No Content"); return new Response<>(0, "No Content", null); } } @@ -86,7 +107,7 @@ public Response findAllFoodOrder(HttpHeaders headers) { public Response updateFoodOrder(FoodOrder updateFoodOrder, HttpHeaders headers) { FoodOrder fo = foodOrderRepository.findById(updateFoodOrder.getId()); if (fo == null) { - FoodServiceImpl.LOGGER.info("[Food-Service][Update FoodOrder] Order Id Is Non-Existent."); + FoodServiceImpl.LOGGER.info("[Update FoodOrder] Order Id Is Non-Existent, orderId: {}", updateFoodOrder.getOrderId()); return new Response<>(0, orderIdNotExist, null); } else { fo.setFoodType(updateFoodOrder.getFoodType()); @@ -97,7 +118,7 @@ public Response updateFoodOrder(FoodOrder updateFoodOrder, HttpHeaders headers) fo.setFoodName(updateFoodOrder.getFoodName()); fo.setPrice(updateFoodOrder.getPrice()); foodOrderRepository.save(fo); - FoodServiceImpl.LOGGER.info("[Food-Service][Update FoodOrder] Success."); + FoodServiceImpl.LOGGER.info("[Update FoodOrder] Success."); return new Response<>(1, "Success", fo); } } @@ -106,10 +127,10 @@ public Response updateFoodOrder(FoodOrder updateFoodOrder, HttpHeaders headers) public Response findByOrderId(String orderId, HttpHeaders headers) { FoodOrder fo = foodOrderRepository.findByOrderId(UUID.fromString(orderId)); if (fo != null) { - FoodServiceImpl.LOGGER.info("[Food-Service][Find Order by id] Success."); + FoodServiceImpl.LOGGER.info("[Find Order by id] Success."); return new Response<>(1, success, fo); } else { - FoodServiceImpl.LOGGER.info("[Food-Service][Find Order by id] Order Id Is Non-Existent."); + FoodServiceImpl.LOGGER.info("[Find Order by id] Order Id Is Non-Existent, orderId: {}", orderId); return new Response<>(0, orderIdNotExist, null); } } @@ -121,6 +142,7 @@ public Response getAllFood(String date, String startStation, String endStation, AllTripFood allTripFood = new AllTripFood(); if (null == tripId || tripId.length() <= 2) { + FoodServiceImpl.LOGGER.error("Get the Get Food Request Failed! Trip id is not suitable, date: {}, tripId: {}", date, tripId); return new Response<>(0, "Trip id is not suitable", null); } @@ -129,7 +151,7 @@ public Response getAllFood(String date, String startStation, String endStation, Map> foodStoreListMap = new HashMap<>(); /**--------------------------------------------------------------------------------------*/ - HttpEntity requestEntityGetTrainFoodListResult = new HttpEntity(headers); + HttpEntity requestEntityGetTrainFoodListResult = new HttpEntity(null); ResponseEntity>> reGetTrainFoodListResult = restTemplate.exchange( "http://ts-food-map-service:18855/api/v1/foodmapservice/trainfoods/" + tripId, HttpMethod.GET, @@ -141,14 +163,14 @@ public Response getAllFood(String date, String startStation, String endStation, if (trainFoodListResult != null) { trainFoodList = trainFoodListResult; - FoodServiceImpl.LOGGER.info("[Food Service]Get Train Food List!"); + FoodServiceImpl.LOGGER.info("Get Train Food List!"); } else { - FoodServiceImpl.LOGGER.info("[Food Service]Get the Get Food Request Failed!"); + FoodServiceImpl.LOGGER.error("Get the Get Food Request Failed!, date: {}, tripId: {}", date, tripId); return new Response<>(0, "Get the Get Food Request Failed!", null); } //车次途经的车站 /**--------------------------------------------------------------------------------------*/ - HttpEntity requestEntityGetRouteResult = new HttpEntity(null, headers); + HttpEntity requestEntityGetRouteResult = new HttpEntity(null, null); ResponseEntity> reGetRouteResult = restTemplate.exchange( "http://ts-travel-service:12346/api/v1/travelservice/routes/" + tripId, HttpMethod.GET, @@ -163,7 +185,7 @@ public Response getAllFood(String date, String startStation, String endStation, //去除不经过的站,如果起点终点有的话 if (null != startStation && !"".equals(startStation)) { /**--------------------------------------------------------------------------------------*/ - HttpEntity requestEntityStartStationId = new HttpEntity(headers); + HttpEntity requestEntityStartStationId = new HttpEntity(null); ResponseEntity> reStartStationId = restTemplate.exchange( "http://ts-station-service:12345/api/v1/stationservice/stations/id/" + startStation, HttpMethod.GET, @@ -182,7 +204,7 @@ public Response getAllFood(String date, String startStation, String endStation, } if (null != endStation && !"".equals(endStation)) { /**--------------------------------------------------------------------------------------*/ - HttpEntity requestEntityEndStationId = new HttpEntity(headers); + HttpEntity requestEntityEndStationId = new HttpEntity(null); ResponseEntity> reEndStationId = restTemplate.exchange( "http://ts-station-service:12345/api/v1/stationservice/stations/id/" + endStation, HttpMethod.GET, @@ -200,7 +222,7 @@ public Response getAllFood(String date, String startStation, String endStation, } } - HttpEntity requestEntityFoodStoresListResult = new HttpEntity(stations, headers); + HttpEntity requestEntityFoodStoresListResult = new HttpEntity(stations, null); ResponseEntity>> reFoodStoresListResult = restTemplate.exchange( "http://ts-food-map-service:18855/api/v1/foodmapservice/foodstores", HttpMethod.POST, @@ -216,9 +238,11 @@ public Response getAllFood(String date, String startStation, String endStation, foodStoreListMap.put(stationId, res); } } else { + FoodServiceImpl.LOGGER.error("Get the Get Food Request Failed! foodStoresListResult is null, date: {}, tripId: {}", date, tripId); return new Response<>(0, "Get All Food Failed", allTripFood); } } else { + FoodServiceImpl.LOGGER.error("Get the Get Food Request Failed! station status error, date: {}, tripId: {}", date, tripId); return new Response<>(0, "Get All Food Failed", allTripFood); } allTripFood.setTrainFoodList(trainFoodList); diff --git a/ts-food-service/src/main/resources/application.yml b/ts-food-service/src/main/resources/application.yml index ba1c13907..1cc28fd4e 100644 --- a/ts-food-service/src/main/resources/application.yml +++ b/ts-food-service/src/main/resources/application.yml @@ -11,5 +11,8 @@ spring: # password: ${MONGODB_PASSWORD} database: ts port: 27017 + rabbitmq: + host: ${rabbitmq_host:localhost} + port: ${rabbitmq_port:5672} swagger: controllerPackage: foodsearch.controller \ No newline at end of file diff --git a/ts-inside-payment-service/Dockerfile b/ts-inside-payment-service/Dockerfile index d6201e902..2b4cc4523 100644 --- a/ts-inside-payment-service/Dockerfile +++ b/ts-inside-payment-service/Dockerfile @@ -3,6 +3,6 @@ FROM java:8-jre RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone ADD ./target/ts-inside-payment-service-1.0.jar /app/ -CMD ["java", "-Xmx200m", "-jar", "/app/ts-inside-payment-service-1.0.jar"] +CMD ["java", "-Xmx200m", "-jar", "/app/ts-inside-payment-service-1.0.jar"] EXPOSE 18673 \ No newline at end of file diff --git a/ts-inside-payment-service/pom.xml b/ts-inside-payment-service/pom.xml index 6a2aa427e..ac539d9a4 100644 --- a/ts-inside-payment-service/pom.xml +++ b/ts-inside-payment-service/pom.xml @@ -35,6 +35,8 @@ ts-common 0.1.0 + + diff --git a/ts-inside-payment-service/src/main/java/inside_payment/controller/InsidePaymentController.java b/ts-inside-payment-service/src/main/java/inside_payment/controller/InsidePaymentController.java index ace3f49ee..2a38ae5b1 100644 --- a/ts-inside-payment-service/src/main/java/inside_payment/controller/InsidePaymentController.java +++ b/ts-inside-payment-service/src/main/java/inside_payment/controller/InsidePaymentController.java @@ -36,37 +36,44 @@ public HttpEntity pay(@RequestBody PaymentInfo info, @RequestHeader HttpHeaders @PostMapping(value = "/inside_payment/account") public HttpEntity createAccount(@RequestBody AccountInfo info, @RequestHeader HttpHeaders headers) { + LOGGER.info("Create account, accountInfo: {}", info); return ok(service.createAccount(info, headers)); } @GetMapping(value = "/inside_payment/{userId}/{money}") public HttpEntity addMoney(@PathVariable String userId, @PathVariable String money, @RequestHeader HttpHeaders headers) { + LOGGER.info("add money, userId: {}, money: {}", userId, money); return ok(service.addMoney(userId, money, headers)); } @GetMapping(value = "/inside_payment/payment") public HttpEntity queryPayment(@RequestHeader HttpHeaders headers) { + LOGGER.info("query payment"); return ok(service.queryPayment(headers)); } @GetMapping(value = "/inside_payment/account") public HttpEntity queryAccount(@RequestHeader HttpHeaders headers) { + LOGGER.info("query account"); return ok(service.queryAccount(headers)); } @GetMapping(value = "/inside_payment/drawback/{userId}/{money}") public HttpEntity drawBack(@PathVariable String userId, @PathVariable String money, @RequestHeader HttpHeaders headers) { + LOGGER.info("draw back payment, userId: {}, money: {}", userId, money); return ok(service.drawBack(userId, money, headers)); } @PostMapping(value = "/inside_payment/difference") public HttpEntity payDifference(@RequestBody PaymentInfo info, @RequestHeader HttpHeaders headers) { + LOGGER.info("pay difference"); return ok(service.payDifference(info, headers)); } @GetMapping(value = "/inside_payment/money") public HttpEntity queryAddMoney(@RequestHeader HttpHeaders headers) { + LOGGER.info("query add money"); return ok(service.queryAddMoney(headers)); } diff --git a/ts-inside-payment-service/src/main/java/inside_payment/service/InsidePaymentServiceImpl.java b/ts-inside-payment-service/src/main/java/inside_payment/service/InsidePaymentServiceImpl.java index eb60fa2df..a2b86ab4f 100644 --- a/ts-inside-payment-service/src/main/java/inside_payment/service/InsidePaymentServiceImpl.java +++ b/ts-inside-payment-service/src/main/java/inside_payment/service/InsidePaymentServiceImpl.java @@ -111,6 +111,7 @@ public Response pay(PaymentInfo info, HttpHeaders headers) { setOrderStatus(info.getTripId(), info.getOrderId(), headers); return new Response<>(1, "Payment Success " + outsidePaySuccess.getMsg(), null); } else { + LOGGER.error("Payment failed: {}", outsidePaySuccess.getMsg()); return new Response<>(0, "Payment Failed: " + outsidePaySuccess.getMsg(), null); } } else { @@ -118,9 +119,11 @@ public Response pay(PaymentInfo info, HttpHeaders headers) { payment.setType(PaymentType.P); paymentRepository.save(payment); } + LOGGER.info("Payment success, orderId: {}", info.getOrderId()); return new Response<>(1, "Payment Success", null); } else { + LOGGER.error("Payment failed: Order not exists, orderId: {}", info.getOrderId()); return new Response<>(0, "Payment Failed, Order Not Exists", null); } } @@ -136,6 +139,7 @@ public Response createAccount(AccountInfo info, HttpHeaders headers) { addMoneyRepository.save(addMoney); return new Response<>(1, "Create Account Success", null); } else { + LOGGER.error("Create Account Failed, Account already Exists, userId: {}", info.getUserId()); return new Response<>(0, "Create Account Failed, Account already Exists", null); } } @@ -150,6 +154,7 @@ public Response addMoney(String userId, String money, HttpHeaders headers) { addMoneyRepository.save(addMoney); return new Response<>(1, "Add Money Success", null); } else { + LOGGER.error("Add Money Failed, userId: {}", userId); return new Response<>(0, "Add Money Failed", null); } } @@ -221,6 +226,7 @@ public Response queryPayment(HttpHeaders headers) { if (payments != null && !payments.isEmpty()) { return new Response<>(1, "Query Payment Success", payments); }else { + LOGGER.error("Query payment failed"); return new Response<>(0, "Query Payment Failed", null); } } @@ -235,6 +241,7 @@ public Response drawBack(String userId, String money, HttpHeaders headers) { addMoneyRepository.save(addMoney); return new Response<>(1, "Draw Back Money Success", null); } else { + LOGGER.error("Draw Back Money Failed"); return new Response<>(0, "Draw Back Money Failed", null); } } @@ -288,6 +295,7 @@ public Response payDifference(PaymentInfo info, HttpHeaders headers) { paymentRepository.save(payment); return new Response<>(1, "Pay Difference Success", null); } else { + LOGGER.error("Pay Difference Failed, orderId: {}", info.getOrderId()); return new Response<>(0, "Pay Difference Failed", null); } } else { @@ -303,7 +311,8 @@ public Response queryAddMoney(HttpHeaders headers) { if (monies != null && !monies.isEmpty()) { return new Response<>(1, "Query Money Success", null); } else { - return new Response<>(0, "", null); + LOGGER.error("Query money failed"); + return new Response<>(0, "Query money failed", null); } } @@ -341,7 +350,7 @@ public void initPayment(Payment payment, HttpHeaders headers) { if (paymentTemp == null) { paymentRepository.save(payment); } else { - InsidePaymentServiceImpl.LOGGER.info("[Inside Payment Service][Init Payment] Already Exists: {}", payment.getId()); + InsidePaymentServiceImpl.LOGGER.error("[Init Payment] Already Exists, paymentId: {}, orderId: {}", payment.getId(), payment.getOrderId()); } } diff --git a/ts-inside-payment-service/src/test/java/inside_payment/service/InsidePaymentServiceImplTest.java b/ts-inside-payment-service/src/test/java/inside_payment/service/InsidePaymentServiceImplTest.java index 3e782532c..4d3df1ac9 100644 --- a/ts-inside-payment-service/src/test/java/inside_payment/service/InsidePaymentServiceImplTest.java +++ b/ts-inside-payment-service/src/test/java/inside_payment/service/InsidePaymentServiceImplTest.java @@ -184,7 +184,7 @@ public void testQueryAddMoney1() { public void testQueryAddMoney2() { Mockito.when(addMoneyRepository.findAll()).thenReturn(null); Response result = insidePaymentServiceImpl.queryAddMoney(headers); - Assert.assertEquals(new Response<>(0, "", null), result); + Assert.assertEquals(new Response<>(0, "Query money failed", null), result); } @Test diff --git a/ts-notification-service/Dockerfile b/ts-notification-service/Dockerfile index d9c973643..b1d835884 100644 --- a/ts-notification-service/Dockerfile +++ b/ts-notification-service/Dockerfile @@ -3,6 +3,6 @@ FROM java:8-jre RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone ADD ./target/ts-notification-service-1.0.jar /app/ -CMD ["java", "-Xmx200m", "-jar", "/app/ts-notification-service-1.0.jar"] +CMD ["java", "-Xmx200m", "-jar", "/app/ts-notification-service-1.0.jar"] EXPOSE 17853 \ No newline at end of file diff --git a/ts-notification-service/pom.xml b/ts-notification-service/pom.xml index 31f18ce80..76a38c392 100644 --- a/ts-notification-service/pom.xml +++ b/ts-notification-service/pom.xml @@ -29,6 +29,12 @@ org.springframework.boot spring-boot-starter-mail + + + org.springframework.boot + spring-boot-starter-data-mongodb + + org.springframework.boot spring-boot-starter-freemarker @@ -38,6 +44,12 @@ ts-common 0.1.0 + + + org.springframework.boot + spring-boot-starter-amqp + + diff --git a/ts-notification-service/src/main/java/notification/NotificationApplication.java b/ts-notification-service/src/main/java/notification/NotificationApplication.java index 18b3f4834..47c3656bf 100644 --- a/ts-notification-service/src/main/java/notification/NotificationApplication.java +++ b/ts-notification-service/src/main/java/notification/NotificationApplication.java @@ -2,6 +2,9 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.web.client.RestTemplateBuilder; +import org.springframework.context.annotation.Bean; +import org.springframework.web.client.RestTemplate; import springfox.documentation.swagger2.annotations.EnableSwagger2; /** @@ -13,4 +16,9 @@ public class NotificationApplication{ public static void main(String[] args) { SpringApplication.run(NotificationApplication.class, args); } + + @Bean + public RestTemplate restTemplate(RestTemplateBuilder builder) { + return builder.build(); + } } \ No newline at end of file diff --git a/ts-notification-service/src/main/java/notification/config/Queues.java b/ts-notification-service/src/main/java/notification/config/Queues.java new file mode 100644 index 000000000..655666689 --- /dev/null +++ b/ts-notification-service/src/main/java/notification/config/Queues.java @@ -0,0 +1,16 @@ +package notification.config; + +import org.springframework.amqp.core.Queue; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class Queues { + + public final static String queueName = "email"; + + @Bean + public Queue emailQueue() { + return new Queue(queueName); + } +} diff --git a/ts-notification-service/src/main/java/notification/config/SecurityConfig.java b/ts-notification-service/src/main/java/notification/config/SecurityConfig.java index 62f237d12..5ea9546cb 100644 --- a/ts-notification-service/src/main/java/notification/config/SecurityConfig.java +++ b/ts-notification-service/src/main/java/notification/config/SecurityConfig.java @@ -68,7 +68,8 @@ protected void configure(HttpSecurity httpSecurity) throws Exception { .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS) .and() .authorizeRequests() - .antMatchers("/api/v1/notifyservice/**").hasAnyRole("ADMIN", "USER") + .antMatchers("/api/v1/notifyservice/**").permitAll() + //.antMatchers("/api/v1/notifyservice/**").hasAnyRole("ADMIN", "USER") .antMatchers("/swagger-ui.html", "/webjars/**", "/images/**", "/configuration/**", "/swagger-resources/**", "/v2/**").permitAll() .anyRequest().authenticated() diff --git a/ts-notification-service/src/main/java/notification/controller/NotificationController.java b/ts-notification-service/src/main/java/notification/controller/NotificationController.java index a43fd0a3d..580a81418 100644 --- a/ts-notification-service/src/main/java/notification/controller/NotificationController.java +++ b/ts-notification-service/src/main/java/notification/controller/NotificationController.java @@ -1,8 +1,10 @@ package notification.controller; import notification.entity.NotifyInfo; +import notification.mq.RabbitSend; import notification.service.NotificationService; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.http.HttpHeaders; import org.springframework.web.bind.annotation.*; @@ -17,11 +19,41 @@ public class NotificationController { @Autowired NotificationService service; + @Autowired + RabbitSend sender; + + @Value("${test_send_mail_user}") + String test_mail_user; + @GetMapping(path = "/welcome") public String home() { return "Welcome to [ Notification Service ] !"; } + @GetMapping("/test_send_mq") + public boolean test_send() { + sender.send("test"); + return true; + } + + @GetMapping("/test_send_mail") + public boolean test_send_mail() { + NotifyInfo notifyInfo = new NotifyInfo(); + notifyInfo.setDate("Wed Jul 21 09:49:44 CST 2021"); + notifyInfo.setEmail(test_mail_user); + notifyInfo.setEndPlace("Test"); + notifyInfo.setStartingPlace("Test"); + notifyInfo.setOrderNumber("111-111-111"); + notifyInfo.setPrice("100"); + notifyInfo.setSeatClass("1"); + notifyInfo.setSeatNumber("1102"); + notifyInfo.setStartingTime("Sat May 04 07:00:00 CST 2013"); + notifyInfo.setUsername("h10g"); + + service.preserveSuccess(notifyInfo, null); + return true; + } + @PostMapping(value = "/notification/preserve_success") public boolean preserve_success(@RequestBody NotifyInfo info, @RequestHeader HttpHeaders headers) { return service.preserveSuccess(info, headers); diff --git a/ts-notification-service/src/main/java/notification/entity/NotifyInfo.java b/ts-notification-service/src/main/java/notification/entity/NotifyInfo.java index 3502ea987..3f249471a 100644 --- a/ts-notification-service/src/main/java/notification/entity/NotifyInfo.java +++ b/ts-notification-service/src/main/java/notification/entity/NotifyInfo.java @@ -1,17 +1,33 @@ package notification.entity; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import lombok.AllArgsConstructor; +import lombok.Data; +import org.springframework.data.annotation.Id; +import org.springframework.data.mongodb.core.mapping.Document; + +import java.util.UUID; + import lombok.Data; /** * @author fdse */ @Data +@AllArgsConstructor +@Document(collection = "notification") +@JsonIgnoreProperties(ignoreUnknown = true) public class NotifyInfo { public NotifyInfo(){ //Default Constructor } + @Id + private UUID id; + + private Boolean sendStatus; + private String email; private String orderNumber; private String username; diff --git a/ts-notification-service/src/main/java/notification/mq/RabbitReceive.java b/ts-notification-service/src/main/java/notification/mq/RabbitReceive.java new file mode 100644 index 000000000..2083443a8 --- /dev/null +++ b/ts-notification-service/src/main/java/notification/mq/RabbitReceive.java @@ -0,0 +1,91 @@ +package notification.mq; + +import edu.fudan.common.util.JsonUtils; +import edu.fudan.common.util.Response; +import notification.config.Queues; +import notification.entity.Mail; +import notification.entity.NotifyInfo; +import notification.repository.NotifyRepository; +import notification.service.MailService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.amqp.rabbit.annotation.RabbitHandler; +import org.springframework.amqp.rabbit.annotation.RabbitListener; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.core.ParameterizedTypeReference; +import org.springframework.http.HttpMethod; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Component; +import org.springframework.web.client.RestTemplate; + +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; + +@Component +public class RabbitReceive { + + private static final Logger logger = LoggerFactory.getLogger(RabbitReceive.class); + + @Autowired + MailService mailService; + + @Autowired + private RestTemplate restTemplate; + + @Autowired + private NotifyRepository notifyRepository; + + @Value("${email_address:trainticket_notify@163.com}") + String email; + String username = "username"; + String startingPlace = "startingPlace"; + String endPlace = "endPlace"; + String startingTime = "startingTime"; + String seatClass = "seatClass"; + String seatNumber = "seatNumber"; + String date = "date"; + String price = "price"; + + @RabbitListener(queues = Queues.queueName) + public void process(String payload) { + NotifyInfo info = JsonUtils.json2Object(payload, NotifyInfo.class); + + if (info == null) { + logger.error("Receive email object is null, error."); + return; + } + + logger.info("Receive email object:" + info); + + Mail mail = new Mail(); + mail.setMailFrom(email); + mail.setMailTo(info.getEmail()); + mail.setMailSubject("Preserve Success"); + + Map model = new HashMap<>(); + model.put(username, info.getUsername()); + model.put(startingPlace,info.getStartingPlace()); + model.put(endPlace,info.getEndPlace()); + model.put(startingTime,info.getStartingTime()); + model.put(date,info.getDate()); + model.put(seatClass,info.getSeatClass()); + model.put(seatNumber,info.getSeatNumber()); + model.put(price,info.getPrice()); + mail.setModel(model); + + try { + mailService.sendEmail(mail, "preserve_success.ftl"); + logger.info("Send email to user " + username + " success"); + info.setSendStatus(true); + } catch (Exception e) { + logger.error("Send email error: " + e); + info.setSendStatus(false); + } + + info.setId(UUID.randomUUID()); + logger.info("Save notify info object [{}] into database", info.getId()); + notifyRepository.save(info); + } +} diff --git a/ts-notification-service/src/main/java/notification/mq/RabbitSend.java b/ts-notification-service/src/main/java/notification/mq/RabbitSend.java new file mode 100644 index 000000000..37da47d53 --- /dev/null +++ b/ts-notification-service/src/main/java/notification/mq/RabbitSend.java @@ -0,0 +1,23 @@ +package notification.mq; + +import notification.config.Queues; +import org.springframework.amqp.core.AmqpTemplate; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +@Component +public class RabbitSend { + + @Autowired + private AmqpTemplate rabbitTemplate; + private static final Logger logger = LoggerFactory.getLogger(RabbitSend.class); + + public void send(String val) { + logger.info("send val:" + val); + this.rabbitTemplate.convertAndSend(Queues.queueName, val); + } + +} diff --git a/ts-notification-service/src/main/java/notification/repository/NotifyRepository.java b/ts-notification-service/src/main/java/notification/repository/NotifyRepository.java new file mode 100644 index 000000000..121a3450e --- /dev/null +++ b/ts-notification-service/src/main/java/notification/repository/NotifyRepository.java @@ -0,0 +1,21 @@ +package notification.repository; + + +import notification.entity.NotifyInfo; +import org.springframework.data.mongodb.repository.MongoRepository; +import org.springframework.data.mongodb.repository.Query; +import org.springframework.stereotype.Repository; + +import java.util.List; +import java.util.UUID; + +@Repository +public interface NotifyRepository extends MongoRepository { + + NotifyInfo findById(UUID id); + + @Override + List findAll(); + + void deleteById(UUID id); +} diff --git a/ts-notification-service/src/main/java/notification/service/MailService.java b/ts-notification-service/src/main/java/notification/service/MailService.java index 672be73d2..d7e1b6828 100644 --- a/ts-notification-service/src/main/java/notification/service/MailService.java +++ b/ts-notification-service/src/main/java/notification/service/MailService.java @@ -40,7 +40,7 @@ public void sendEmail(Mail mail,String template) throws Exception { helper.setTo(mail.getMailTo()); helper.setText(text, true); - helper.setFrom("fdse_microservices@163.com"); + helper.setFrom(mail.getMailFrom()); helper.setSubject(mail.getMailSubject()); sender.send(message); diff --git a/ts-notification-service/src/main/java/notification/service/NotificationServiceImpl.java b/ts-notification-service/src/main/java/notification/service/NotificationServiceImpl.java index 6243482d9..76d6ca279 100644 --- a/ts-notification-service/src/main/java/notification/service/NotificationServiceImpl.java +++ b/ts-notification-service/src/main/java/notification/service/NotificationServiceImpl.java @@ -25,7 +25,7 @@ public class NotificationServiceImpl implements NotificationService{ private static final Logger LOGGER = LoggerFactory.getLogger(NotificationServiceImpl.class); - String email = "fdse_microservices@163.com"; + String email = "trainticket_notify@163.com"; String username = "username"; String startingPlace = "startingPlace"; String endPlace = "endPlace"; diff --git a/ts-notification-service/src/main/resources/application.yml b/ts-notification-service/src/main/resources/application.yml index d453ebdde..dcc047176 100644 --- a/ts-notification-service/src/main/resources/application.yml +++ b/ts-notification-service/src/main/resources/application.yml @@ -2,23 +2,14 @@ server: port: 17853 # HTTP (Tomcat) port -#spring: -# data: -# mongodb: -# host: ts-notification-mongo -## username: user -## password: ${MONGODB_PASSWORD} -## database: piggymetrics -# port: 27017 - spring: application: name: ts-notification-service mail: host: smtp.163.com port: 465 - username: fdse_microservices@163.com - password: fdse1234 + username: ${email_address:trainticket_notify@163.com} + password: ${email_password:GZKSCXHBOLKMCLDQ} properties: mail: smtp: @@ -28,12 +19,16 @@ spring: starttls: enable: true required: true + data: + mongodb: + host: ${mongohost:ts-notification-mongo} + database: ts + port: 27017 + + rabbitmq: + host: ${rabbitmq_host:localhost} + port: ${rabbitmq_port:5672} + swagger: controllerPackage: notification.controller -# main: -# banner-mode: off - -# velocity: -# resource-loader-path: classpath:/templates/ -# check-template-location: true \ No newline at end of file diff --git a/ts-notification-service/src/main/resources/logback.xml b/ts-notification-service/src/main/resources/logback.xml deleted file mode 100644 index 3434c634c..000000000 --- a/ts-notification-service/src/main/resources/logback.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - %d{yyyy-MM-dd HH:mm:ss} %-5level %logger{36} - %msg%n - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/ts-order-other-service/Dockerfile b/ts-order-other-service/Dockerfile index ed64df20e..e53ed542a 100644 --- a/ts-order-other-service/Dockerfile +++ b/ts-order-other-service/Dockerfile @@ -3,6 +3,6 @@ FROM java:8-jre RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone ADD ./target/ts-order-other-service-1.0.jar /app/ -CMD ["java", "-Xmx200m", "-jar", "/app/ts-order-other-service-1.0.jar"] +CMD ["java", "-Xmx200m", "-jar", "/app/ts-order-other-service-1.0.jar"] #CMD java $JAVA_OPTIONS -jar /app/ts-order-other-service-1.0.jar EXPOSE 12032 \ No newline at end of file diff --git a/ts-order-other-service/pom.xml b/ts-order-other-service/pom.xml index 45ad8375f..06909d3a2 100644 --- a/ts-order-other-service/pom.xml +++ b/ts-order-other-service/pom.xml @@ -33,6 +33,8 @@ ts-common 0.1.0 + + diff --git a/ts-order-other-service/src/main/java/other/controller/OrderOtherController.java b/ts-order-other-service/src/main/java/other/controller/OrderOtherController.java index 9edee27da..dacd542bb 100644 --- a/ts-order-other-service/src/main/java/other/controller/OrderOtherController.java +++ b/ts-order-other-service/src/main/java/other/controller/OrderOtherController.java @@ -34,22 +34,23 @@ public String home() { @PostMapping(value = "/orderOther/tickets") public HttpEntity getTicketListByDateAndTripId(@RequestBody Seat seatRequest, @RequestHeader HttpHeaders headers) { - OrderOtherController.LOGGER.info("[Order Other Service][Get Sold Ticket] Date: {}", seatRequest.getTravelDate().toString()); + OrderOtherController.LOGGER.info("[Get Sold Ticket] Date: {}", seatRequest.getTravelDate().toString()); return ok(orderService.getSoldTickets(seatRequest, headers)); } @CrossOrigin(origins = "*") @PostMapping(path = "/orderOther") public HttpEntity createNewOrder(@RequestBody Order createOrder, @RequestHeader HttpHeaders headers) { - OrderOtherController.LOGGER.info("[Order Other Service][Create Order] Create Order form {} ---> {} at {}", createOrder.getFrom(), createOrder.getTo(), createOrder.getTravelDate()); + OrderOtherController.LOGGER.info("[Create Order] Create Order form {} ---> {} at {}", createOrder.getFrom(), createOrder.getTo(), createOrder.getTravelDate()); - OrderOtherController.LOGGER.info("[Order Other Service][Verify Login] Success"); + OrderOtherController.LOGGER.info("[Verify Login] Success"); return ok(orderService.create(createOrder, headers)); } @CrossOrigin(origins = "*") @PostMapping(path = "/orderOther/admin") public HttpEntity addcreateNewOrder(@RequestBody Order order, @RequestHeader HttpHeaders headers) { + OrderOtherController.LOGGER.info("Add new order, OrderId: {}", order.getId()); return ok(orderService.addNewOrder(order, headers)); } @@ -57,7 +58,7 @@ public HttpEntity addcreateNewOrder(@RequestBody Order order, @RequestHeader Htt @PostMapping(path = "/orderOther/query") public HttpEntity queryOrders(@RequestBody QueryInfo qi, @RequestHeader HttpHeaders headers) { - OrderOtherController.LOGGER.info("[Order Other Service][Query Orders] Query Orders for {}", qi.getLoginId()); + OrderOtherController.LOGGER.info("[Query Orders] Query Orders for {}", qi.getLoginId()); return ok(orderService.queryOrders(qi, qi.getLoginId(), headers)); } @@ -66,7 +67,7 @@ public HttpEntity queryOrders(@RequestBody QueryInfo qi, @PostMapping(path = "/orderOther/refresh") public HttpEntity queryOrdersForRefresh(@RequestBody QueryInfo qi, @RequestHeader HttpHeaders headers) { - OrderOtherController.LOGGER.info("[Order Other Service][Query Orders] Query Orders for {}", qi.getLoginId()); + OrderOtherController.LOGGER.info("[Query Orders] Query Orders for {}", qi.getLoginId()); return ok(orderService.queryOrdersForRefresh(qi, qi.getLoginId(), headers)); } @@ -75,35 +76,35 @@ public HttpEntity queryOrdersForRefresh(@RequestBody QueryInfo qi, @GetMapping(path = "/orderOther/{travelDate}/{trainNumber}") public HttpEntity calculateSoldTicket(@PathVariable Date travelDate, @PathVariable String trainNumber, @RequestHeader HttpHeaders headers) { - OrderOtherController.LOGGER.info("[Order Other Service][Calculate Sold Tickets] Date: {} TrainNumber: {}", travelDate, trainNumber); + OrderOtherController.LOGGER.info("[Calculate Sold Tickets] Date: {} TrainNumber: {}", travelDate, trainNumber); return ok(orderService.queryAlreadySoldOrders(travelDate, trainNumber, headers)); } @CrossOrigin(origins = "*") @GetMapping(path = "/orderOther/price/{orderId}") public HttpEntity getOrderPrice(@PathVariable String orderId, @RequestHeader HttpHeaders headers) { - OrderOtherController.LOGGER.info("[Order Other Service][Get Order Price] Order Id: {}", orderId); + OrderOtherController.LOGGER.info("[Get Order Price] Order Id: {}", orderId); return ok(orderService.getOrderPrice(orderId, headers)); } @CrossOrigin(origins = "*") @GetMapping(path = "/orderOther/orderPay/{orderId}") public HttpEntity payOrder(@PathVariable String orderId, @RequestHeader HttpHeaders headers) { - OrderOtherController.LOGGER.info("[Order Other Service][Pay Order] Order Id: {}", orderId); + OrderOtherController.LOGGER.info("[Pay Order] Order Id: {}", orderId); return ok(orderService.payOrder(orderId, headers)); } @CrossOrigin(origins = "*") @GetMapping(path = "/orderOther/{orderId}") public HttpEntity getOrderById(@PathVariable String orderId, @RequestHeader HttpHeaders headers) { - OrderOtherController.LOGGER.info("[Order Other Service][Get Order By Id] Order Id: {}", orderId); + OrderOtherController.LOGGER.info("[Get Order By Id] Order Id: {}", orderId); return ok(orderService.getOrderById(orderId, headers)); } @CrossOrigin(origins = "*") @GetMapping(path = "/orderOther/status/{orderId}/{status}") public HttpEntity modifyOrder(@PathVariable String orderId, @PathVariable int status, @RequestHeader HttpHeaders headers) { - OrderOtherController.LOGGER.info("[Order Other Service][Modify Order Status] Order Id: {}", orderId); + OrderOtherController.LOGGER.info("[Modify Order Status] Order Id: {}", orderId); return ok(orderService.modifyOrder(orderId, status, headers)); } @@ -111,7 +112,7 @@ public HttpEntity modifyOrder(@PathVariable String orderId, @PathVariable int st @GetMapping(path = "/orderOther/security/{checkDate}/{accountId}") public HttpEntity securityInfoCheck(@PathVariable Date checkDate, @PathVariable String accountId, @RequestHeader HttpHeaders headers) { - OrderOtherController.LOGGER.info("[Order Other Service][Security Info Get]"); + OrderOtherController.LOGGER.info("[Security Info Get]"); return ok(orderService.checkSecurityAboutOrder(checkDate, accountId, headers)); } @@ -120,20 +121,21 @@ public HttpEntity securityInfoCheck(@PathVariable Date checkDate, @PathVariable public HttpEntity saveOrderInfo(@RequestBody Order orderInfo, @RequestHeader HttpHeaders headers) { - OrderOtherController.LOGGER.info("[Order Other Service][Verify Login] Success"); + OrderOtherController.LOGGER.info("[Verify Login] Success"); return ok(orderService.saveChanges(orderInfo, headers)); } @CrossOrigin(origins = "*") @PutMapping(path = "/orderOther/admin") public HttpEntity updateOrder(@RequestBody Order order, @RequestHeader HttpHeaders headers) { + OrderOtherController.LOGGER.info("Update Order, OrderId: {}", order.getId()); return ok(orderService.updateOrder(order, headers)); } @CrossOrigin(origins = "*") @DeleteMapping(path = "/orderOther/{orderId}") public HttpEntity deleteOrder(@PathVariable String orderId, @RequestHeader HttpHeaders headers) { - OrderOtherController.LOGGER.info("[Order Other Service][Delete Order] Order Id: {}", orderId); + OrderOtherController.LOGGER.info("[Delete Order] Order Id: {}", orderId); return ok(orderService.deleteOrder(orderId, headers)); } @@ -142,7 +144,7 @@ public HttpEntity deleteOrder(@PathVariable String orderId, @RequestHeader HttpH @CrossOrigin(origins = "*") @GetMapping(path = "/orderOther") public HttpEntity findAllOrder(@RequestHeader HttpHeaders headers) { - OrderOtherController.LOGGER.info("[Order Other Service][Find All Order]"); + OrderOtherController.LOGGER.info("[Find All Order]"); return ok(orderService.getAllOrders(headers)); } diff --git a/ts-order-other-service/src/main/java/other/service/OrderOtherServiceImpl.java b/ts-order-other-service/src/main/java/other/service/OrderOtherServiceImpl.java index cbfaa3a90..f8b0e0cfd 100644 --- a/ts-order-other-service/src/main/java/other/service/OrderOtherServiceImpl.java +++ b/ts-order-other-service/src/main/java/other/service/OrderOtherServiceImpl.java @@ -53,6 +53,8 @@ public Response getSoldTickets(Seat seatRequest, HttpHeaders headers) { return new Response<>(1, success, leftTicketInfo); } else { + + OrderOtherServiceImpl.LOGGER.warn("No content, seat from date: {}, train number: {}",seatRequest.getTravelDate(),seatRequest.getTrainNumber()); return new Response<>(0, "Seat is Null.", null); } } @@ -61,6 +63,7 @@ public Response getSoldTickets(Seat seatRequest, HttpHeaders headers) { public Response findOrderById(UUID id, HttpHeaders headers) { Order order = orderOtherRepository.findById(id); if (order == null) { + OrderOtherServiceImpl.LOGGER.error("No content, id: {}",id); return new Response<>(0, "No Content by this id", null); } else { return new Response<>(1, success, order); @@ -69,16 +72,16 @@ public Response findOrderById(UUID id, HttpHeaders headers) { @Override public Response create(Order order, HttpHeaders headers) { - OrderOtherServiceImpl.LOGGER.info("[Order Other Service][Create Order] Ready Create Order"); + OrderOtherServiceImpl.LOGGER.info("[Create Order] Ready Create Order"); ArrayList accountOrders = orderOtherRepository.findByAccountId(order.getAccountId()); if (accountOrders.contains(order)) { - OrderOtherServiceImpl.LOGGER.info("[Order Other Service][Order Create] Fail.Order already exists."); + OrderOtherServiceImpl.LOGGER.error("[Order Create] Fail.Order already exists, OrderId: {}", order.getId()); return new Response<>(0, "Order already exist", order); } else { order.setId(UUID.randomUUID()); orderOtherRepository.save(order); - OrderOtherServiceImpl.LOGGER.info("[Order Other Service][Order Create] Success."); - OrderOtherServiceImpl.LOGGER.info("[Order Other Service][Order Create] Price: {}", order.getPrice()); + OrderOtherServiceImpl.LOGGER.info("[Order Create] Success."); + OrderOtherServiceImpl.LOGGER.info("[Order Create] Price: {}", order.getPrice()); return new Response<>(1, success, order); } } @@ -89,7 +92,7 @@ public void initOrder(Order order, HttpHeaders headers) { if (orderTemp == null) { orderOtherRepository.save(order); } else { - OrderOtherServiceImpl.LOGGER.info("[Order Other Service][Init Order] Order Already Exists ID: {}", order.getId()); + OrderOtherServiceImpl.LOGGER.error("[Init Order] Order Already Exists, OrderId: {}", order.getId()); } } @@ -100,7 +103,7 @@ public Response alterOrder(OrderAlterInfo oai, HttpHeaders headers) { UUID oldOrderId = oai.getPreviousOrderId(); Order oldOrder = orderOtherRepository.findById(oldOrderId); if (oldOrder == null) { - OrderOtherServiceImpl.LOGGER.info("[Order Other Service][Alter Order] Fail.Order do not exist."); + OrderOtherServiceImpl.LOGGER.error("[Alter Order] Fail.Order do not exist, OrderId: {}", oldOrderId); return new Response<>(0, "Old Order Does Not Exists", null); } oldOrder.setStatus(OrderStatus.CANCEL.getCode()); @@ -109,9 +112,10 @@ public Response alterOrder(OrderAlterInfo oai, HttpHeaders headers) { newOrder.setId(UUID.randomUUID()); Response cor = create(oai.getNewOrderInfo(), headers); if (cor.getStatus() == 1) { - OrderOtherServiceImpl.LOGGER.info("[Order Other Service][Alter Order] Success."); + OrderOtherServiceImpl.LOGGER.info("[Alter Order] Success."); return new Response<>(1, "Alter Order Success", newOrder); } else { + OrderOtherServiceImpl.LOGGER.error("Alter Order Fail.Create new order fail, OrderId: {}", newOrder.getId()); return new Response<>(0, cor.getMsg(), null); } } @@ -120,7 +124,7 @@ public Response alterOrder(OrderAlterInfo oai, HttpHeaders headers) { public Response> queryOrders(QueryInfo qi, String accountId, HttpHeaders headers) { //1.Get all orders of the user ArrayList list = orderOtherRepository.findByAccountId(UUID.fromString(accountId)); - OrderOtherServiceImpl.LOGGER.info("[Order Other Service][Query Order][Step 1] Get Orders Number of Account: {}", list.size()); + OrderOtherServiceImpl.LOGGER.info("[Query Order][Step 1] Get Orders Number of Account: {}", list.size()); //2.Check is these orders fit the requirement/ if (qi.isEnableStateQuery() || qi.isEnableBoughtDateQuery() || qi.isEnableTravelDateQuery()) { ArrayList finalList = new ArrayList<>(); @@ -138,7 +142,7 @@ public Response> queryOrders(QueryInfo qi, String accountId, Ht } else { statePassFlag = true; } - OrderOtherServiceImpl.LOGGER.info("[Order Other Service][Query Order][Step 2][Check Status Fits End]"); + OrderOtherServiceImpl.LOGGER.info("[Query Order][Step 2][Check Status Fits End]"); //4.Check order travel date requirement. if (qi.isEnableTravelDateQuery()) { if (tempOrder.getTravelDate().before(qi.getTravelDateEnd()) && @@ -150,7 +154,7 @@ public Response> queryOrders(QueryInfo qi, String accountId, Ht } else { travelDatePassFlag = true; } - OrderOtherServiceImpl.LOGGER.info("[Order Other Service][Query Order][Step 2][Check Travel Date End]"); + OrderOtherServiceImpl.LOGGER.info("[Query Order][Step 2][Check Travel Date End]"); //5.Check order bought date requirement. if (qi.isEnableBoughtDateQuery()) { if (tempOrder.getBoughtDate().before(qi.getBoughtDateEnd()) && @@ -162,17 +166,17 @@ public Response> queryOrders(QueryInfo qi, String accountId, Ht } else { boughtDatePassFlag = true; } - OrderOtherServiceImpl.LOGGER.info("[Order Other Service][Query Order][Step 2][Check Bought Date End]"); + OrderOtherServiceImpl.LOGGER.info("[Query Order][Step 2][Check Bought Date End]"); //6.check if all requirement fits. if (statePassFlag && boughtDatePassFlag && travelDatePassFlag) { finalList.add(tempOrder); } - OrderOtherServiceImpl.LOGGER.info("[Order Other Service][Query Order][Step 2][Check All Requirement End]"); + OrderOtherServiceImpl.LOGGER.info("[Query Order][Step 2][Check All Requirement End]"); } - OrderOtherServiceImpl.LOGGER.info("[Order Other Service][Query Order] Get order num: {}", finalList.size()); + OrderOtherServiceImpl.LOGGER.info("[Query Order] Get order num: {}", finalList.size()); return new Response<>(1, "Get order num", finalList); } else { - OrderOtherServiceImpl.LOGGER.info("[Order Other Service][Query Order] Get order num: {}", list.size()); + OrderOtherServiceImpl.LOGGER.warn("[Query Order] Orders don't fit the requirement, loginId: {}", qi.getLoginId()); return new Response<>(1, "Get order num", list); } } @@ -195,7 +199,7 @@ public Response queryOrdersForRefresh(QueryInfo qi, String accountId, HttpHeader public List queryForStationId(List ids, HttpHeaders headers) { - HttpEntity requestEntity = new HttpEntity(ids, headers); + HttpEntity requestEntity = new HttpEntity(ids, null); ResponseEntity>> re = restTemplate.exchange( "http://ts-station-service:12345/api/v1/stationservice/stations/namelist", HttpMethod.POST, @@ -210,7 +214,7 @@ public List queryForStationId(List ids, HttpHeaders headers) { public Response saveChanges(Order order, HttpHeaders headers) { Order oldOrder = orderOtherRepository.findById(order.getId()); if (oldOrder == null) { - OrderOtherServiceImpl.LOGGER.info("[Order Other Service][Modify Order] Fail.Order not found."); + OrderOtherServiceImpl.LOGGER.error("[Modify Order] Fail.Order not found, OrderId: {}", order.getId()); return new Response<>(0, orderNotFound, null); } else { oldOrder.setAccountId(order.getAccountId()); @@ -231,7 +235,7 @@ public Response saveChanges(Order order, HttpHeaders headers) { oldOrder.setContactsDocumentNumber(order.getContactsDocumentNumber()); orderOtherRepository.save(oldOrder); - OrderOtherServiceImpl.LOGGER.info("[Order Other Service] Success."); + OrderOtherServiceImpl.LOGGER.info(" Success."); return new Response<>(1, success, oldOrder); } } @@ -241,12 +245,12 @@ public Response cancelOrder(UUID accountId, UUID orderId, HttpHeaders headers) { Order oldOrder = orderOtherRepository.findById(orderId); if (oldOrder == null) { - OrderOtherServiceImpl.LOGGER.info("[Order Other Service][Cancel Order] Fail.Order not found."); + OrderOtherServiceImpl.LOGGER.error("[Cancel Order] Fail.Order not found, OrderId: {}", orderId); return new Response<>(0, orderNotFound, null); } else { oldOrder.setStatus(OrderStatus.CANCEL.getCode()); orderOtherRepository.save(oldOrder); - OrderOtherServiceImpl.LOGGER.info("[Order Other Service][Cancel Order] Success."); + OrderOtherServiceImpl.LOGGER.info("[Cancel Order] Success."); return new Response<>(1, success, oldOrder); } } @@ -257,7 +261,7 @@ public Response queryAlreadySoldOrders(Date travelDate, String trainNumber, Http SoldTicket cstr = new SoldTicket(); cstr.setTravelDate(travelDate); cstr.setTrainNumber(trainNumber); - OrderOtherServiceImpl.LOGGER.info("[Order Other Service][Calculate Sold Ticket] Get Orders Number: {}", orders.size()); + OrderOtherServiceImpl.LOGGER.info("[Calculate Sold Ticket] Get Orders Number: {}", orders.size()); for (Order order : orders) { if (order.getStatus() >= OrderStatus.CHANGE.getCode()) { continue; @@ -281,7 +285,7 @@ public Response queryAlreadySoldOrders(Date travelDate, String trainNumber, Http } else if (order.getSeatClass() == SeatClass.HIGHSOFTBED.getCode()) { cstr.setHighSoftBed(cstr.getHighSoftBed() + 1); } else { - OrderOtherServiceImpl.LOGGER.info("[Order Other Service][Calculate Sold Tickets] Seat class not exists. Order ID: {}", order.getId()); + OrderOtherServiceImpl.LOGGER.info("[Calculate Sold Tickets] Seat class not exists. Order ID: {}", order.getId()); } } return new Response<>(1, success, cstr); @@ -291,6 +295,7 @@ public Response queryAlreadySoldOrders(Date travelDate, String trainNumber, Http public Response getAllOrders(HttpHeaders headers) { ArrayList orders = orderOtherRepository.findAll(); if (orders == null) { + OrderOtherServiceImpl.LOGGER.warn("Find all orders warn: {}","No content"); return new Response<>(0, "No Content", null); } else { return new Response<>(1, success, orders); @@ -301,6 +306,7 @@ public Response getAllOrders(HttpHeaders headers) { public Response modifyOrder(String orderId, int status, HttpHeaders headers) { Order order = orderOtherRepository.findById(UUID.fromString(orderId)); if (order == null) { + OrderOtherServiceImpl.LOGGER.error("Modify order error.Order not found, OrderId: {}",orderId); return new Response<>(0, orderNotFound, null); } else { order.setStatus(status); @@ -313,6 +319,7 @@ public Response modifyOrder(String orderId, int status, HttpHeaders headers) { public Response getOrderPrice(String orderId, HttpHeaders headers) { Order order = orderOtherRepository.findById(UUID.fromString(orderId)); if (order == null) { + OrderOtherServiceImpl.LOGGER.error("Get order price error.Order not found, OrderId: {}",orderId); return new Response<>(0, orderNotFound, "-1.0"); } else { OrderOtherServiceImpl.LOGGER.info("[Order Other Service][Get Order Price] Price: {}", order.getPrice()); @@ -324,6 +331,7 @@ public Response getOrderPrice(String orderId, HttpHeaders headers) { public Response payOrder(String orderId, HttpHeaders headers) { Order order = orderOtherRepository.findById(UUID.fromString(orderId)); if (order == null) { + OrderOtherServiceImpl.LOGGER.error("Pay order error.Order not found, OrderId: {}",orderId); return new Response<>(0, orderNotFound, null); } else { order.setStatus(OrderStatus.PAID.getCode()); @@ -337,6 +345,7 @@ public Response getOrderById(String orderId, HttpHeaders headers) { Order order = orderOtherRepository.findById(UUID.fromString(orderId)); if (order == null) { + OrderOtherServiceImpl.LOGGER.error("Order not found, OrderId: {}",orderId); return new Response<>(0, orderNotFound, null); } else { return new Response<>(1, success, order); @@ -373,6 +382,7 @@ public Response deleteOrder(String orderId, HttpHeaders headers) { UUID orderUuid = UUID.fromString(orderId); Order order = orderOtherRepository.findById(orderUuid); if (order == null) { + OrderOtherServiceImpl.LOGGER.error("Delete order error.Order not found, OrderId: {}",orderId); return new Response<>(0, "Order Not Exist.", null); } else { orderOtherRepository.deleteById(orderUuid); @@ -382,16 +392,16 @@ public Response deleteOrder(String orderId, HttpHeaders headers) { @Override public Response addNewOrder(Order order, HttpHeaders headers) { - OrderOtherServiceImpl.LOGGER.info("[Order Service][Admin Add Order] Ready Add Order."); + OrderOtherServiceImpl.LOGGER.info("[Admin Add Order] Ready Add Order."); ArrayList accountOrders = orderOtherRepository.findByAccountId(order.getAccountId()); if (accountOrders.contains(order)) { - OrderOtherServiceImpl.LOGGER.info("[Order Service][Admin Add Order] Fail.Order already exists."); + OrderOtherServiceImpl.LOGGER.error("[Admin Add Order] Fail.Order already exists, OrderId: {}",order.getId()); return new Response<>(0, "Order already exist", null); } else { order.setId(UUID.randomUUID()); orderOtherRepository.save(order); - OrderOtherServiceImpl.LOGGER.info("[Order Service][Admin Add Order] Success."); - OrderOtherServiceImpl.LOGGER.info("[Order Service][Admin Add Order] Price: {}", order.getPrice()); + OrderOtherServiceImpl.LOGGER.info("[Admin Add Order] Success."); + OrderOtherServiceImpl.LOGGER.info("[Admin Add Order] Price: {}", order.getPrice()); return new Response<>(1, success, order); } } @@ -401,7 +411,7 @@ public Response updateOrder(Order order, HttpHeaders headers) { LOGGER.info("UPDATE ORDER INFO :" + order.toString()); Order oldOrder = orderOtherRepository.findById(order.getId()); if (oldOrder == null) { - OrderOtherServiceImpl.LOGGER.info("[Order Service][Admin Update Order] Fail.Order not found."); + OrderOtherServiceImpl.LOGGER.error("[Admin Update Order] Fail.Order not found, OrderId: {}",order.getId()); return new Response<>(0, orderNotFound, null); } else { OrderOtherServiceImpl.LOGGER.info("{}", oldOrder.toString()); @@ -421,7 +431,7 @@ public Response updateOrder(Order order, HttpHeaders headers) { oldOrder.setContactsDocumentNumber(order.getContactsDocumentNumber()); oldOrder.setDocumentType(order.getDocumentType()); orderOtherRepository.save(oldOrder); - OrderOtherServiceImpl.LOGGER.info("[Order Service] [Admin Update Order] Success."); + OrderOtherServiceImpl.LOGGER.info("[Admin Update Order] Success."); return new Response<>(1, success, oldOrder); } } diff --git a/ts-order-service/Dockerfile b/ts-order-service/Dockerfile index a7e634ddc..da8c10924 100644 --- a/ts-order-service/Dockerfile +++ b/ts-order-service/Dockerfile @@ -3,7 +3,7 @@ FROM java:8-jre RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone ADD ./target/ts-order-service-1.0.jar /app/ -CMD ["java", "-Xmx200m", "-jar", "/app/ts-order-service-1.0.jar"] +CMD ["java", "-Xmx200m", "-jar", "/app/ts-order-service-1.0.jar"] #CMD java $JAVA_OPTIONS -jar /app/ts-order-service-1.0.jar EXPOSE 12031 \ No newline at end of file diff --git a/ts-order-service/pom.xml b/ts-order-service/pom.xml index b48b53b37..e2d7a9dc7 100644 --- a/ts-order-service/pom.xml +++ b/ts-order-service/pom.xml @@ -33,6 +33,8 @@ ts-common 0.1.0 + + diff --git a/ts-order-service/src/main/java/order/controller/OrderController.java b/ts-order-service/src/main/java/order/controller/OrderController.java index b62b8b7f8..97193b5bd 100644 --- a/ts-order-service/src/main/java/order/controller/OrderController.java +++ b/ts-order-service/src/main/java/order/controller/OrderController.java @@ -34,15 +34,15 @@ public String home() { @PostMapping(value = "/order/tickets") public HttpEntity getTicketListByDateAndTripId(@RequestBody Seat seatRequest, @RequestHeader HttpHeaders headers) { - OrderController.LOGGER.info("[Order Service][Get Sold Ticket] Date: {}", seatRequest.getTravelDate().toString()); + OrderController.LOGGER.info("[Get Sold Ticket] Date: {}", seatRequest.getTravelDate().toString()); return ok(orderService.getSoldTickets(seatRequest, headers)); } @CrossOrigin(origins = "*") @PostMapping(path = "/order") public HttpEntity createNewOrder(@RequestBody Order createOrder, @RequestHeader HttpHeaders headers) { - OrderController.LOGGER.info("[Order Service][Create Order] Create Order form {} ---> {} at {}", createOrder.getFrom(), createOrder.getTo(), createOrder.getTravelDate()); - OrderController.LOGGER.info("[Order Service][Verify Login] Success"); + OrderController.LOGGER.info("[Create Order] Create Order form {} ---> {} at {}", createOrder.getFrom(), createOrder.getTo(), createOrder.getTravelDate()); + OrderController.LOGGER.info("[Verify Login] Success"); return ok(orderService.create(createOrder, headers)); } @@ -56,8 +56,8 @@ public HttpEntity addcreateNewOrder(@RequestBody Order order, @RequestHeader Htt @PostMapping(path = "/order/query") public HttpEntity queryOrders(@RequestBody OrderInfo qi, @RequestHeader HttpHeaders headers) { - OrderController.LOGGER.info("[Order Other Service][Query Orders] Query Orders for {}", qi.getLoginId()); - OrderController.LOGGER.info("[Order Other Service][Verify Login] Success"); + OrderController.LOGGER.info("[Query Orders] Query Orders for {}", qi.getLoginId()); + OrderController.LOGGER.info("[Verify Login] Success"); return ok(orderService.queryOrders(qi, qi.getLoginId(), headers)); } @@ -65,7 +65,7 @@ public HttpEntity queryOrders(@RequestBody OrderInfo qi, @PostMapping(path = "/order/refresh") public HttpEntity queryOrdersForRefresh(@RequestBody OrderInfo qi, @RequestHeader HttpHeaders headers) { - OrderController.LOGGER.info("[Order Other Service][Query Orders] Query Orders for {}", qi.getLoginId()); + OrderController.LOGGER.info("[Query Orders] Query Orders for {}", qi.getLoginId()); return ok(orderService.queryOrdersForRefresh(qi, qi.getLoginId(), headers)); } @@ -73,14 +73,14 @@ public HttpEntity queryOrdersForRefresh(@RequestBody OrderInfo qi, @GetMapping(path = "/order/{travelDate}/{trainNumber}") public HttpEntity calculateSoldTicket(@PathVariable Date travelDate, @PathVariable String trainNumber, @RequestHeader HttpHeaders headers) { - OrderController.LOGGER.info("[Order Other Service][Calculate Sold Tickets] Date: {} TrainNumber: {}", travelDate, trainNumber); + OrderController.LOGGER.info("[Calculate Sold Tickets] Date: {} TrainNumber: {}", travelDate, trainNumber); return ok(orderService.queryAlreadySoldOrders(travelDate, trainNumber, headers)); } @CrossOrigin(origins = "*") @GetMapping(path = "/order/price/{orderId}") public HttpEntity getOrderPrice(@PathVariable String orderId, @RequestHeader HttpHeaders headers) { - OrderController.LOGGER.info("[Order Other Service][Get Order Price] Order Id: {}", orderId); + OrderController.LOGGER.info("[Get Order Price] Order Id: {}", orderId); // String return ok(orderService.getOrderPrice(orderId, headers)); } @@ -89,7 +89,7 @@ public HttpEntity getOrderPrice(@PathVariable String orderId, @RequestHeader Htt @CrossOrigin(origins = "*") @GetMapping(path = "/order/orderPay/{orderId}") public HttpEntity payOrder(@PathVariable String orderId, @RequestHeader HttpHeaders headers) { - OrderController.LOGGER.info("[Order Other Service][Pay Order] Order Id: {}", orderId); + OrderController.LOGGER.info("[Pay Order] Order Id: {}", orderId); // Order return ok(orderService.payOrder(orderId, headers)); } @@ -97,7 +97,7 @@ public HttpEntity payOrder(@PathVariable String orderId, @RequestHeader HttpHead @CrossOrigin(origins = "*") @GetMapping(path = "/order/{orderId}") public HttpEntity getOrderById(@PathVariable String orderId, @RequestHeader HttpHeaders headers) { - OrderController.LOGGER.info("[Order Other Service][Get Order By Id] Order Id: {}", orderId); + OrderController.LOGGER.info("[Get Order By Id] Order Id: {}", orderId); // Order return ok(orderService.getOrderById(orderId, headers)); } @@ -105,7 +105,7 @@ public HttpEntity getOrderById(@PathVariable String orderId, @RequestHeader Http @CrossOrigin(origins = "*") @GetMapping(path = "/order/status/{orderId}/{status}") public HttpEntity modifyOrder(@PathVariable String orderId, @PathVariable int status, @RequestHeader HttpHeaders headers) { - OrderController.LOGGER.info("[Order Other Service][Modify Order Status] Order Id: {}", orderId); + OrderController.LOGGER.info("[Modify Order Status] Order Id: {}", orderId); // Order return ok(orderService.modifyOrder(orderId, status, headers)); } @@ -115,7 +115,7 @@ public HttpEntity modifyOrder(@PathVariable String orderId, @PathVariable int st @GetMapping(path = "/order/security/{checkDate}/{accountId}") public HttpEntity securityInfoCheck(@PathVariable Date checkDate, @PathVariable String accountId, @RequestHeader HttpHeaders headers) { - OrderController.LOGGER.info("[Order Other Service][Security Info Get] {}", accountId); + OrderController.LOGGER.info("[Security Info Get] {}", accountId); return ok(orderService.checkSecurityAboutOrder(checkDate, accountId, headers)); } @@ -125,7 +125,7 @@ public HttpEntity securityInfoCheck(@PathVariable Date checkDate, @PathVariable public HttpEntity saveOrderInfo(@RequestBody Order orderInfo, @RequestHeader HttpHeaders headers) { - OrderController.LOGGER.info("[Order Other Service][Verify Login] Success"); + OrderController.LOGGER.info("[Verify Login] Success"); return ok(orderService.saveChanges(orderInfo, headers)); } @@ -133,6 +133,7 @@ public HttpEntity saveOrderInfo(@RequestBody Order orderInfo, @PutMapping(path = "/order/admin") public HttpEntity updateOrder(@RequestBody Order order, @RequestHeader HttpHeaders headers) { // Order + OrderController.LOGGER.info("Update Order, OrderId: {}", order.getId()); return ok(orderService.updateOrder(order, headers)); } @@ -140,7 +141,7 @@ public HttpEntity updateOrder(@RequestBody Order order, @RequestHeader HttpHeade @CrossOrigin(origins = "*") @DeleteMapping(path = "/order/{orderId}") public HttpEntity deleteOrder(@PathVariable String orderId, @RequestHeader HttpHeaders headers) { - OrderController.LOGGER.info("[Order Other Service][Delete Order] Order Id: {}", orderId); + OrderController.LOGGER.info("[Delete Order] Order Id: {}", orderId); // Order return ok(orderService.deleteOrder(orderId, headers)); } @@ -150,7 +151,7 @@ public HttpEntity deleteOrder(@PathVariable String orderId, @RequestHeader HttpH @CrossOrigin(origins = "*") @GetMapping(path = "/order") public HttpEntity findAllOrder(@RequestHeader HttpHeaders headers) { - OrderController.LOGGER.info("[Order Other Service][Find All Order]"); + OrderController.LOGGER.info("[Find All Order]"); // ArrayList return ok(orderService.getAllOrders(headers)); } diff --git a/ts-order-service/src/main/java/order/service/OrderServiceImpl.java b/ts-order-service/src/main/java/order/service/OrderServiceImpl.java index 7a8c8527d..d4ff1bffc 100644 --- a/ts-order-service/src/main/java/order/service/OrderServiceImpl.java +++ b/ts-order-service/src/main/java/order/service/OrderServiceImpl.java @@ -48,7 +48,7 @@ public Response getSoldTickets(Seat seatRequest, HttpHeaders headers) { OrderServiceImpl.LOGGER.info("Left ticket info is: {}", leftTicketInfo.toString()); return new Response<>(1, success, leftTicketInfo); } else { - OrderServiceImpl.LOGGER.info("Left ticket info is empty"); + OrderServiceImpl.LOGGER.error("Left ticket info is empty, seat from date: {}, train number: {}",seatRequest.getTravelDate(),seatRequest.getTrainNumber()); return new Response<>(0, "Order is Null.", null); } } @@ -57,6 +57,7 @@ public Response getSoldTickets(Seat seatRequest, HttpHeaders headers) { public Response findOrderById(UUID id, HttpHeaders headers) { Order order = orderRepository.findById(id); if (order == null) { + OrderServiceImpl.LOGGER.error("No content, id: {}",id); return new Response<>(0, "No Content by this id", null); } else { return new Response<>(1, success, order); @@ -65,16 +66,16 @@ public Response findOrderById(UUID id, HttpHeaders headers) { @Override public Response create(Order order, HttpHeaders headers) { - OrderServiceImpl.LOGGER.info("[Order Service][Create Order] Ready Create Order."); + OrderServiceImpl.LOGGER.info("[Create Order] Ready Create Order."); ArrayList accountOrders = orderRepository.findByAccountId(order.getAccountId()); if (accountOrders.contains(order)) { - OrderServiceImpl.LOGGER.info("[Order Service][Order Create] Fail.Order already exists."); + OrderServiceImpl.LOGGER.error("[Order Create] Fail.Order already exists, OrderId: {}", order.getId()); return new Response<>(0, "Order already exist", null); } else { order.setId(UUID.randomUUID()); orderRepository.save(order); - OrderServiceImpl.LOGGER.info("[Order Service][Order Create] Success."); - OrderServiceImpl.LOGGER.info("[Order Service][Order Create] Price: {}", order.getPrice()); + OrderServiceImpl.LOGGER.info("[Order Create] Success."); + OrderServiceImpl.LOGGER.info("[Order Create] Price: {}", order.getPrice()); return new Response<>(1, success, order); } } @@ -85,7 +86,7 @@ public Response alterOrder(OrderAlterInfo oai, HttpHeaders headers) { UUID oldOrderId = oai.getPreviousOrderId(); Order oldOrder = orderRepository.findById(oldOrderId); if (oldOrder == null) { - OrderServiceImpl.LOGGER.info("[Order Service][Alter Order] Fail.Order do not exist."); + OrderServiceImpl.LOGGER.error("[Alter Order] Fail.Order do not exist, OrderId: {}", oldOrderId); return new Response<>(0, "Old Order Does Not Exists", null); } oldOrder.setStatus(OrderStatus.CANCEL.getCode()); @@ -94,9 +95,10 @@ public Response alterOrder(OrderAlterInfo oai, HttpHeaders headers) { newOrder.setId(UUID.randomUUID()); Response cor = create(oai.getNewOrderInfo(), headers); if (cor.getStatus() == 1) { - OrderServiceImpl.LOGGER.info("[Order Service][Alter Order] Success."); + OrderServiceImpl.LOGGER.info("[Alter Order] Success."); return new Response<>(1, success, newOrder); } else { + OrderServiceImpl.LOGGER.error("Alter Order Fail.Create new order fail, OrderId: {}", newOrder.getId()); return new Response<>(0, cor.getMsg(), null); } } @@ -105,7 +107,7 @@ public Response alterOrder(OrderAlterInfo oai, HttpHeaders headers) { public Response> queryOrders(OrderInfo qi, String accountId, HttpHeaders headers) { //1.Get all orders of the user ArrayList list = orderRepository.findByAccountId(UUID.fromString(accountId)); - OrderServiceImpl.LOGGER.info("[Order Service][Query Order][Step 1] Get Orders Number of Account: {}", list.size()); + OrderServiceImpl.LOGGER.info("[Query Order][Step 1] Get Orders Number of Account: {}", list.size()); //2.Check is these orders fit the requirement/ if (qi.isEnableStateQuery() || qi.isEnableBoughtDateQuery() || qi.isEnableTravelDateQuery()) { ArrayList finalList = new ArrayList<>(); @@ -123,7 +125,7 @@ public Response> queryOrders(OrderInfo qi, String accountId, Ht } else { statePassFlag = true; } - OrderServiceImpl.LOGGER.info("[Order Service][Query Order][Step 2][Check Status Fits End]"); + OrderServiceImpl.LOGGER.info("[Query Order][Step 2][Check Status Fits End]"); //4.Check order travel date requirement. if (qi.isEnableTravelDateQuery()) { if (tempOrder.getTravelDate().before(qi.getTravelDateEnd()) && @@ -135,7 +137,7 @@ public Response> queryOrders(OrderInfo qi, String accountId, Ht } else { travelDatePassFlag = true; } - OrderServiceImpl.LOGGER.info("[Order Service][Query Order][Step 2][Check Travel Date End]"); + OrderServiceImpl.LOGGER.info("[Query Order][Step 2][Check Travel Date End]"); //5.Check order bought date requirement. if (qi.isEnableBoughtDateQuery()) { if (tempOrder.getBoughtDate().before(qi.getBoughtDateEnd()) && @@ -147,17 +149,17 @@ public Response> queryOrders(OrderInfo qi, String accountId, Ht } else { boughtDatePassFlag = true; } - OrderServiceImpl.LOGGER.info("[Order Service][Query Order][Step 2][Check Bought Date End]"); + OrderServiceImpl.LOGGER.info("[Query Order][Step 2][Check Bought Date End]"); //6.check if all requirement fits. if (statePassFlag && boughtDatePassFlag && travelDatePassFlag) { finalList.add(tempOrder); } - OrderServiceImpl.LOGGER.info("[Order Service][Query Order][Step 2][Check All Requirement End]"); + OrderServiceImpl.LOGGER.info("[Query Order][Step 2][Check All Requirement End]"); } - OrderServiceImpl.LOGGER.info("[Order Service][Query Order] Get order num: {}", finalList.size()); + OrderServiceImpl.LOGGER.info("[Query Order] Get order num: {}", finalList.size()); return new Response<>(1, "Get order num", finalList); } else { - OrderServiceImpl.LOGGER.info("[Order Service][Query Order] Get order num: {}", list.size()); + OrderServiceImpl.LOGGER.warn("[Query Order] Orders don't fit the requirement, loginId: {}", qi.getLoginId()); return new Response<>(1, "Get order num", list); } } @@ -181,7 +183,7 @@ public Response queryOrdersForRefresh(OrderInfo qi, String accountId, HttpHeader public List queryForStationId(List ids, HttpHeaders headers) { - HttpEntity requestEntity = new HttpEntity(ids, headers); + HttpEntity requestEntity = new HttpEntity(ids, null); ResponseEntity>> re = restTemplate.exchange( "http://ts-station-service:12345/api/v1/stationservice/stations/namelist", HttpMethod.POST, @@ -197,7 +199,7 @@ public Response saveChanges(Order order, HttpHeaders headers) { Order oldOrder = orderRepository.findById(order.getId()); if (oldOrder == null) { - OrderServiceImpl.LOGGER.info("[Order Service][Modify Order] Fail.Order not found."); + OrderServiceImpl.LOGGER.error("[Modify Order] Fail.Order not found, OrderId: {}", order.getId()); return new Response<>(0, orderNotFound, null); } else { oldOrder.setAccountId(order.getAccountId()); @@ -216,7 +218,7 @@ public Response saveChanges(Order order, HttpHeaders headers) { oldOrder.setContactsDocumentNumber(order.getContactsDocumentNumber()); oldOrder.setDocumentType(order.getDocumentType()); orderRepository.save(oldOrder); - OrderServiceImpl.LOGGER.info("[Order Service] Success."); + OrderServiceImpl.LOGGER.info("Success."); return new Response<>(1, success, oldOrder); } } @@ -225,12 +227,12 @@ public Response saveChanges(Order order, HttpHeaders headers) { public Response cancelOrder(UUID accountId, UUID orderId, HttpHeaders headers) { Order oldOrder = orderRepository.findById(orderId); if (oldOrder == null) { - OrderServiceImpl.LOGGER.info("[Cancel Service][Cancel Order] Fail.Order not found."); + OrderServiceImpl.LOGGER.error("[Cancel Order] Fail.Order not found, OrderId: {}", orderId); return new Response<>(0, orderNotFound, null); } else { oldOrder.setStatus(OrderStatus.CANCEL.getCode()); orderRepository.save(oldOrder); - OrderServiceImpl.LOGGER.info("[Cancel Service][Cancel Order] Success."); + OrderServiceImpl.LOGGER.info("[Cancel Order] Success."); return new Response<>(1, success, oldOrder); } } @@ -241,7 +243,7 @@ public Response queryAlreadySoldOrders(Date travelDate, String trainNumber, Http SoldTicket cstr = new SoldTicket(); cstr.setTravelDate(travelDate); cstr.setTrainNumber(trainNumber); - OrderServiceImpl.LOGGER.info("[Order Service][Calculate Sold Ticket] Get Orders Number: {}", orders.size()); + OrderServiceImpl.LOGGER.info("[Calculate Sold Ticket] Get Orders Number: {}", orders.size()); for (Order order : orders) { if (order.getStatus() >= OrderStatus.CHANGE.getCode()) { continue; @@ -265,7 +267,7 @@ public Response queryAlreadySoldOrders(Date travelDate, String trainNumber, Http } else if (order.getSeatClass() == SeatClass.HIGHSOFTBED.getCode()) { cstr.setHighSoftBed(cstr.getHighSoftBed() + 1); } else { - OrderServiceImpl.LOGGER.info("[Order Service][Calculate Sold Tickets] Seat class not exists. Order ID: {}", order.getId()); + OrderServiceImpl.LOGGER.info("[Calculate Sold Tickets] Seat class not exists. Order ID: {}", order.getId()); } } return new Response<>(1, success, cstr); @@ -277,6 +279,7 @@ public Response getAllOrders(HttpHeaders headers) { if (orders != null && !orders.isEmpty()) { return new Response<>(1, "Success.", orders); } else { + OrderServiceImpl.LOGGER.warn("Find all orders warn: {}","No content"); return new Response<>(0, "No Content.", null); } } @@ -285,6 +288,7 @@ public Response getAllOrders(HttpHeaders headers) { public Response modifyOrder(String orderId, int status, HttpHeaders headers) { Order order = orderRepository.findById(UUID.fromString(orderId)); if (order == null) { + OrderServiceImpl.LOGGER.error("Modify order error.Order not found, OrderId: {}",orderId); return new Response<>(0, orderNotFound, null); } else { order.setStatus(status); @@ -297,10 +301,10 @@ public Response modifyOrder(String orderId, int status, HttpHeaders headers) { public Response getOrderPrice(String orderId, HttpHeaders headers) { Order order = orderRepository.findById(UUID.fromString(orderId)); if (order == null) { - OrderServiceImpl.LOGGER.info("[Other Service][Get Order Price] Order Not Found."); + OrderServiceImpl.LOGGER.error("Get order price error.Order not found, OrderId: {}",orderId); return new Response<>(0, orderNotFound, "-1.0"); } else { - OrderServiceImpl.LOGGER.info("[Order Service][Get Order Price] Price: {}", order.getPrice()); + OrderServiceImpl.LOGGER.info("[Get Order Price] Price: {}", order.getPrice()); return new Response<>(1, success, order.getPrice()); } } @@ -309,6 +313,7 @@ public Response getOrderPrice(String orderId, HttpHeaders headers) { public Response payOrder(String orderId, HttpHeaders headers) { Order order = orderRepository.findById(UUID.fromString(orderId)); if (order == null) { + OrderServiceImpl.LOGGER.error("Pay order error.Order not found, OrderId: {}",orderId); return new Response<>(0, orderNotFound, null); } else { order.setStatus(OrderStatus.PAID.getCode()); @@ -321,6 +326,7 @@ public Response payOrder(String orderId, HttpHeaders headers) { public Response getOrderById(String orderId, HttpHeaders headers) { Order order = orderRepository.findById(UUID.fromString(orderId)); if (order == null) { + OrderServiceImpl.LOGGER.error("Order not found, OrderId: {}",orderId); return new Response<>(0, orderNotFound, null); } else { return new Response<>(1, "Success.", order); @@ -333,7 +339,7 @@ public void initOrder(Order order, HttpHeaders headers) { if (orderTemp == null) { orderRepository.save(order); } else { - OrderServiceImpl.LOGGER.info("[Order Service][Init Order] Order Already Exists ID: {}", order.getId()); + OrderServiceImpl.LOGGER.error("[Init Order] Order Already Exists, OrderId: {}", order.getId()); } } @@ -368,6 +374,7 @@ public Response deleteOrder(String orderId, HttpHeaders headers) { Order order = orderRepository.findById(orderUuid); if (order == null) { + OrderServiceImpl.LOGGER.error("Delete order error.Order not found, OrderId: {}",orderId); return new Response<>(0, "Order Not Exist.", null); } else { orderRepository.deleteById(orderUuid); @@ -377,16 +384,16 @@ public Response deleteOrder(String orderId, HttpHeaders headers) { @Override public Response addNewOrder(Order order, HttpHeaders headers) { - OrderServiceImpl.LOGGER.info("[Order Service][Admin Add Order] Ready Add Order."); + OrderServiceImpl.LOGGER.info("[Admin Add Order] Ready Add Order."); ArrayList accountOrders = orderRepository.findByAccountId(order.getAccountId()); if (accountOrders.contains(order)) { - OrderServiceImpl.LOGGER.info("[Order Service][Admin Add Order] Fail.Order already exists."); + OrderServiceImpl.LOGGER.error("[Admin Add Order] Fail.Order already exists, OrderId: {}",order.getId()); return new Response<>(0, "Order already exist", null); } else { order.setId(UUID.randomUUID()); orderRepository.save(order); - OrderServiceImpl.LOGGER.info("[Order Service][Admin Add Order] Success."); - OrderServiceImpl.LOGGER.info("[Order Service][Admin Add Order] Price: {}", order.getPrice()); + OrderServiceImpl.LOGGER.info("[Admin Add Order] Success."); + OrderServiceImpl.LOGGER.info("[Admin Add Order] Price: {}", order.getPrice()); return new Response<>(1, "Add new Order Success", order); } } @@ -396,7 +403,7 @@ public Response updateOrder(Order order, HttpHeaders headers) { LOGGER.info("UPDATE ORDER INFO: " + order.toString()); Order oldOrder = orderRepository.findById(order.getId()); if (oldOrder == null) { - OrderServiceImpl.LOGGER.info("[Order Service][Admin Update Order] Fail.Order not found."); + OrderServiceImpl.LOGGER.error("[Admin Update Order] Fail.Order not found, OrderId: {}",order.getId()); return new Response<>(0, "Order Not Found, Can't update", null); } else { OrderServiceImpl.LOGGER.info("{}", oldOrder.toString()); @@ -416,7 +423,7 @@ public Response updateOrder(Order order, HttpHeaders headers) { oldOrder.setContactsDocumentNumber(order.getContactsDocumentNumber()); oldOrder.setDocumentType(order.getDocumentType()); orderRepository.save(oldOrder); - OrderServiceImpl.LOGGER.info("[Order Service] [Admin Update Order] Success."); + OrderServiceImpl.LOGGER.info("[Admin Update Order] Success."); return new Response<>(1, "Admin Update Order Success", oldOrder); } } diff --git a/ts-payment-service/Dockerfile b/ts-payment-service/Dockerfile index 004bf0888..fa20f2bf6 100644 --- a/ts-payment-service/Dockerfile +++ b/ts-payment-service/Dockerfile @@ -3,6 +3,6 @@ FROM java:8-jre RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone ADD ./target/ts-payment-service-1.0.jar /app/ -CMD ["java", "-Xmx200m", "-jar", "/app/ts-payment-service-1.0.jar"] +CMD ["java", "-Xmx200m", "-jar", "/app/ts-payment-service-1.0.jar"] EXPOSE 19001 \ No newline at end of file diff --git a/ts-payment-service/pom.xml b/ts-payment-service/pom.xml index 43a34aa6d..2a345c313 100644 --- a/ts-payment-service/pom.xml +++ b/ts-payment-service/pom.xml @@ -34,6 +34,8 @@ ts-common 0.1.0 + + diff --git a/ts-payment-service/src/main/java/com/trainticket/controller/PaymentController.java b/ts-payment-service/src/main/java/com/trainticket/controller/PaymentController.java index eeeb67a02..baf0f2207 100644 --- a/ts-payment-service/src/main/java/com/trainticket/controller/PaymentController.java +++ b/ts-payment-service/src/main/java/com/trainticket/controller/PaymentController.java @@ -2,6 +2,8 @@ import com.trainticket.entity.Payment; import com.trainticket.service.PaymentService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; @@ -20,6 +22,8 @@ public class PaymentController { @Autowired PaymentService service; + private static final Logger LOGGER = LoggerFactory.getLogger(PaymentController.class); + @GetMapping(path = "/welcome") public String home() { return "Welcome to [ Payment Service ] !"; @@ -27,16 +31,19 @@ public String home() { @PostMapping(path = "/payment") public HttpEntity pay(@RequestBody Payment info, @RequestHeader HttpHeaders headers) { + PaymentController.LOGGER.info("Pay, PaymentId: {}", info.getId()); return ok(service.pay(info, headers)); } @PostMapping(path = "/payment/money") public HttpEntity addMoney(@RequestBody Payment info, @RequestHeader HttpHeaders headers) { + PaymentController.LOGGER.info("Add money, PaymentId: {}", info.getId()); return ok(service.addMoney(info, headers)); } @GetMapping(path = "/payment") public HttpEntity query(@RequestHeader HttpHeaders headers) { + PaymentController.LOGGER.info("Query payment"); return ok(service.query(headers)); } } diff --git a/ts-payment-service/src/main/java/com/trainticket/service/PaymentServiceImpl.java b/ts-payment-service/src/main/java/com/trainticket/service/PaymentServiceImpl.java index 439f7eab8..95d2fa2a9 100644 --- a/ts-payment-service/src/main/java/com/trainticket/service/PaymentServiceImpl.java +++ b/ts-payment-service/src/main/java/com/trainticket/service/PaymentServiceImpl.java @@ -39,6 +39,7 @@ public Response pay(Payment info, HttpHeaders headers){ paymentRepository.save(payment); return new Response<>(1, "Pay Success", null); }else{ + PaymentServiceImpl.LOGGER.warn("Pay Failed.Order not found with order id, PaymentId: {}, OrderId: {}",info.getId(),info.getOrderId()); return new Response<>(0, "Pay Failed, order not found with order id" +info.getOrderId(), null); } } @@ -58,6 +59,7 @@ public Response query(HttpHeaders headers){ if(payments!= null && !payments.isEmpty()){ return new Response<>(1,"Query Success", payments); }else { + PaymentServiceImpl.LOGGER.warn("Find all payment warn: {}","No content"); return new Response<>(0, "No Content", null); } } @@ -66,9 +68,10 @@ public Response query(HttpHeaders headers){ public void initPayment(Payment payment, HttpHeaders headers){ Payment paymentTemp = paymentRepository.findById(payment.getId()); if(paymentTemp == null){ + PaymentServiceImpl.LOGGER.error("Init payment error.Payment not found, PaymentId: {}",payment.getId()); paymentRepository.save(payment); }else{ - PaymentServiceImpl.LOGGER.info("[Payment Service][Init Payment] Already Exists: {}", payment.getId()); + PaymentServiceImpl.LOGGER.info("[Init Payment] Already Exists: {}", payment.getId()); } } } diff --git a/ts-preserve-other-service/Dockerfile b/ts-preserve-other-service/Dockerfile index e39ecfd96..6f1fac7e3 100644 --- a/ts-preserve-other-service/Dockerfile +++ b/ts-preserve-other-service/Dockerfile @@ -3,6 +3,6 @@ FROM java:8-jre RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone ADD ./target/ts-preserve-other-service-1.0.jar /app/ -CMD ["java", "-Xmx200m", "-jar", "/app/ts-preserve-other-service-1.0.jar"] +CMD ["java", "-Xmx200m", "-jar", "/app/ts-preserve-other-service-1.0.jar"] EXPOSE 14569 \ No newline at end of file diff --git a/ts-preserve-other-service/pom.xml b/ts-preserve-other-service/pom.xml index 650a76685..040aa0dc0 100644 --- a/ts-preserve-other-service/pom.xml +++ b/ts-preserve-other-service/pom.xml @@ -29,6 +29,12 @@ ts-common 0.1.0 + + + org.springframework.boot + spring-boot-starter-amqp + + diff --git a/ts-preserve-other-service/src/main/java/preserveOther/config/Queues.java b/ts-preserve-other-service/src/main/java/preserveOther/config/Queues.java new file mode 100644 index 000000000..2d7650532 --- /dev/null +++ b/ts-preserve-other-service/src/main/java/preserveOther/config/Queues.java @@ -0,0 +1,16 @@ +package preserveOther.config; + +import org.springframework.amqp.core.Queue; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class Queues { + + public final static String queueName = "email"; + + @Bean + public Queue emailQueue() { + return new Queue(queueName); + } +} diff --git a/ts-preserve-other-service/src/main/java/preserveOther/controller/PreserveOtherController.java b/ts-preserve-other-service/src/main/java/preserveOther/controller/PreserveOtherController.java index 93fe68163..771c15bd1 100644 --- a/ts-preserve-other-service/src/main/java/preserveOther/controller/PreserveOtherController.java +++ b/ts-preserve-other-service/src/main/java/preserveOther/controller/PreserveOtherController.java @@ -32,7 +32,7 @@ public String home() { @PostMapping(value = "/preserveOther") public HttpEntity preserve(@RequestBody OrderTicketsInfo oti, @RequestHeader HttpHeaders headers) { - PreserveOtherController.LOGGER.info("[Preserve Other Service][Preserve] Account order from {} -----> {} at {}", oti.getFrom(), oti.getTo(), oti.getDate()); + PreserveOtherController.LOGGER.info("[Preserve] Account order from {} -----> {} at {}", oti.getFrom(), oti.getTo(), oti.getDate()); return ok(preserveService.preserve(oti, headers)); } diff --git a/ts-preserve-other-service/src/main/java/preserveOther/mq/RabbitSend.java b/ts-preserve-other-service/src/main/java/preserveOther/mq/RabbitSend.java new file mode 100644 index 000000000..7ad04f467 --- /dev/null +++ b/ts-preserve-other-service/src/main/java/preserveOther/mq/RabbitSend.java @@ -0,0 +1,25 @@ +package preserveOther.mq; + + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.amqp.core.AmqpTemplate; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +import preserveOther.config.Queues; + + +@Component +public class RabbitSend { + + @Autowired + private AmqpTemplate rabbitTemplate; + + private static final Logger logger = LoggerFactory.getLogger(RabbitSend.class); + + public void send(String val) { + logger.info("send info to mq:" + val); + this.rabbitTemplate.convertAndSend(Queues.queueName, val); + } + +} diff --git a/ts-preserve-other-service/src/main/java/preserveOther/service/PreserveOtherServiceImpl.java b/ts-preserve-other-service/src/main/java/preserveOther/service/PreserveOtherServiceImpl.java index 5e0bdb9a3..82490dd63 100644 --- a/ts-preserve-other-service/src/main/java/preserveOther/service/PreserveOtherServiceImpl.java +++ b/ts-preserve-other-service/src/main/java/preserveOther/service/PreserveOtherServiceImpl.java @@ -1,5 +1,6 @@ package preserveOther.service; +import edu.fudan.common.util.JsonUtils; import edu.fudan.common.util.Response; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -12,6 +13,7 @@ import org.springframework.stereotype.Service; import org.springframework.web.client.RestTemplate; import preserveOther.entity.*; +import preserveOther.mq.RabbitSend; import java.util.Date; import java.util.UUID; @@ -25,36 +27,39 @@ public class PreserveOtherServiceImpl implements PreserveOtherService { @Autowired private RestTemplate restTemplate; + @Autowired + private RabbitSend sendService; + private static final Logger LOGGER = LoggerFactory.getLogger(PreserveOtherServiceImpl.class); @Override public Response preserve(OrderTicketsInfo oti, HttpHeaders httpHeaders) { - PreserveOtherServiceImpl.LOGGER.info("[Preserve Other Service][Verify Login] Success"); + PreserveOtherServiceImpl.LOGGER.info("[Verify Login] Success"); //1.detect ticket scalper - PreserveOtherServiceImpl.LOGGER.info("[Preserve Service] [Step 1] Check Security"); + PreserveOtherServiceImpl.LOGGER.info("[Step 1] Check Security"); Response result = checkSecurity(oti.getAccountId(), httpHeaders); if (result.getStatus() == 0) { - PreserveOtherServiceImpl.LOGGER.info("[Preserve Service] [Step 1] Check Security Fail. Return soon."); + PreserveOtherServiceImpl.LOGGER.error("[Step 1] Check Security Fail, AccountId: {}",oti.getAccountId()); return new Response<>(0, result.getMsg(), null); } - PreserveOtherServiceImpl.LOGGER.info("[Preserve Service] [Step 1] Check Security Complete. "); + PreserveOtherServiceImpl.LOGGER.info("[Step 1] Check Security Complete. "); //2.Querying contact information -- modification, mediated by the underlying information micro service - PreserveOtherServiceImpl.LOGGER.info("[Preserve Other Service] [Step 2] Find contacts"); + PreserveOtherServiceImpl.LOGGER.info("[Step 2] Find contacts"); - PreserveOtherServiceImpl.LOGGER.info("[Preserve Other Service] [Step 2] Contacts Id: {}", oti.getContactsId()); + PreserveOtherServiceImpl.LOGGER.info("[Step 2] Contacts Id: {}", oti.getContactsId()); Response gcr = getContactsById(oti.getContactsId(), httpHeaders); if (gcr.getStatus() == 0) { - PreserveOtherServiceImpl.LOGGER.info("[Preserve Service][Get Contacts] Fail. {}", gcr.getMsg()); + PreserveOtherServiceImpl.LOGGER.error("[Get Contacts] Fail,ContactsId: {},message: {}",oti.getContactsId(),gcr.getMsg()); return new Response<>(0, gcr.getMsg(), null); } - PreserveOtherServiceImpl.LOGGER.info("[Preserve Other Service][Step 2] Complete"); + PreserveOtherServiceImpl.LOGGER.info("[Step 2] Complete"); //3.Check the info of train and the number of remaining tickets - PreserveOtherServiceImpl.LOGGER.info("[Preserve Other Service] [Step 3] Check tickets num"); + PreserveOtherServiceImpl.LOGGER.info("[Step 3] Check tickets num"); TripAllDetailInfo gtdi = new TripAllDetailInfo(); gtdi.setFrom(oti.getFrom()); @@ -62,32 +67,32 @@ public Response preserve(OrderTicketsInfo oti, HttpHeaders httpHeaders) { gtdi.setTravelDate(oti.getDate()); gtdi.setTripId(oti.getTripId()); - PreserveOtherServiceImpl.LOGGER.info("[Preserve Other Service] [Step 3] TripId: {}", oti.getTripId()); + PreserveOtherServiceImpl.LOGGER.info("[Step 3] TripId: {}", oti.getTripId()); Response response = getTripAllDetailInformation(gtdi, httpHeaders); TripAllDetail gtdr = response.getData(); LOGGER.info("TripAllDetail : " + gtdr.toString()); if (response.getStatus() == 0) { - PreserveOtherServiceImpl.LOGGER.info("[Preserve Service][Search For Trip Detail Information] {}", response.getMsg()); + PreserveOtherServiceImpl.LOGGER.error("[Search For Trip Detail Information] error, TripId: {}, message: {}", gtdi.getTripId(), response.getMsg()); return new Response<>(0, response.getMsg(), null); } else { TripResponse tripResponse = gtdr.getTripResponse(); LOGGER.info("TripResponse : " + tripResponse.toString()); if (oti.getSeatType() == SeatClass.FIRSTCLASS.getCode()) { if (tripResponse.getConfortClass() == 0) { - PreserveOtherServiceImpl.LOGGER.info("[Preserve Service][Check seat is enough] "); + PreserveOtherServiceImpl.LOGGER.warn("[Check seat is enough], TripId: {}",oti.getTripId()); return new Response<>(0, "Seat Not Enough", null); } } else { if (tripResponse.getEconomyClass() == SeatClass.SECONDCLASS.getCode() && tripResponse.getConfortClass() == 0) { - PreserveOtherServiceImpl.LOGGER.info("[Preserve Service][Check seat is Not enough] "); + PreserveOtherServiceImpl.LOGGER.warn("[Check seat is Not enough], TripId: {}",oti.getTripId()); return new Response<>(0, "Check Seat Not Enough", null); } } } Trip trip = gtdr.getTrip(); - PreserveOtherServiceImpl.LOGGER.info("[Preserve Other Service] [Step 3] Tickets Enough"); + PreserveOtherServiceImpl.LOGGER.info("[Step 3] Tickets Enough"); //4.send the order request and set the order information - PreserveOtherServiceImpl.LOGGER.info("[Preserve Other Service] [Step 4] Do Order"); + PreserveOtherServiceImpl.LOGGER.info("[Step 4] Do Order"); Contacts contacts = gcr.getData(); Order order = new Order(); UUID orderId = UUID.randomUUID(); @@ -124,7 +129,7 @@ public Response preserve(OrderTicketsInfo oti, HttpHeaders httpHeaders) { TravelResult resultForTravel = re.getBody().getData(); order.setSeatClass(oti.getSeatType()); - PreserveOtherServiceImpl.LOGGER.info("[Preserve Other Service][Order] Order Travel Date: {}", oti.getDate().toString()); + PreserveOtherServiceImpl.LOGGER.info("[Order] Order Travel Date: {}", oti.getDate().toString()); order.setTravelDate(oti.getDate()); order.setTravelTime(gtdr.getTripResponse().getStartingTime()); @@ -147,26 +152,26 @@ public Response preserve(OrderTicketsInfo oti, HttpHeaders httpHeaders) { order.setPrice(resultForTravel.getPrices().get("economyClass")); } - PreserveOtherServiceImpl.LOGGER.info("[Preserve Other Service][Order Price] Price is: {}", order.getPrice()); + PreserveOtherServiceImpl.LOGGER.info("[Order Price] Price is: {}", order.getPrice()); Response cor = createOrder(order, httpHeaders); if (cor.getStatus() == 0) { - PreserveOtherServiceImpl.LOGGER.info("[Preserve Other Service][Create Order Fail] Create Order Fail. Reason: {}", cor.getMsg()); + PreserveOtherServiceImpl.LOGGER.error("[Create Order Fail] Create Order Fail. OrderId: {}, Reason: {}", order.getId(), cor.getMsg()); return new Response<>(0, cor.getMsg(), null); } - PreserveOtherServiceImpl.LOGGER.info("[Preserve Other Service] [Step 4] Do Order Complete"); + PreserveOtherServiceImpl.LOGGER.info("[Step 4] Do Order Complete"); Response returnResponse = new Response<>(1, "Success.", cor.getMsg()); //5.Check insurance options if (oti.getAssurance() == 0) { - PreserveOtherServiceImpl.LOGGER.info("[Preserve Service][Step 5] Do not need to buy assurance"); + PreserveOtherServiceImpl.LOGGER.info("[Step 5] Do not need to buy assurance"); } else { Response addAssuranceResult = addAssuranceForOrder( oti.getAssurance(), cor.getData().getId().toString(), httpHeaders); if (addAssuranceResult.getStatus() == 1) { - PreserveOtherServiceImpl.LOGGER.info("[Preserve Service][Step 5] Preserve Buy Assurance Success"); + PreserveOtherServiceImpl.LOGGER.info("[Step 5] Preserve Buy Assurance Success"); } else { - PreserveOtherServiceImpl.LOGGER.info("[Preserve Service][Step 5] Buy Assurance Fail."); + PreserveOtherServiceImpl.LOGGER.warn("[Step 5] Buy Assurance Fail, assurance: {}, OrderId: {}", oti.getAssurance(),cor.getData().getId()); returnResponse.setMsg("Success.But Buy Assurance Fail."); } } @@ -184,13 +189,13 @@ public Response preserve(OrderTicketsInfo oti, HttpHeaders httpHeaders) { } Response afor = createFoodOrder(foodOrder, httpHeaders); if (afor.getStatus() == 1) { - PreserveOtherServiceImpl.LOGGER.info("[Preserve Service][Step 6] Buy Food Success"); + PreserveOtherServiceImpl.LOGGER.info("[Step 6] Buy Food Success"); } else { - PreserveOtherServiceImpl.LOGGER.info("[Preserve Service][Step 6] Buy Food Fail."); + PreserveOtherServiceImpl.LOGGER.error("[Step 6] Buy Food Fail, OrderId: {}",cor.getData().getId()); returnResponse.setMsg("Success.But Buy Food Fail."); } } else { - PreserveOtherServiceImpl.LOGGER.info("[Preserve Service][Step 6] Do not need to buy food"); + PreserveOtherServiceImpl.LOGGER.info("[Step 6] Do not need to buy food"); } //7.add consign @@ -209,17 +214,16 @@ public Response preserve(OrderTicketsInfo oti, HttpHeaders httpHeaders) { LOGGER.info("CONSIGN INFO : " + consignRequest.toString()); Response icresult = createConsign(consignRequest, httpHeaders); if (icresult.getStatus() == 1) { - PreserveOtherServiceImpl.LOGGER.info("[Preserve Service][Step 7] Consign Success"); + PreserveOtherServiceImpl.LOGGER.info("[Step 7] Consign Success"); } else { - PreserveOtherServiceImpl.LOGGER.info("[Preserve Service][Step 7] Preserve Consign Fail."); + PreserveOtherServiceImpl.LOGGER.error("[Step 7] Preserve Consign Fail, OrderId: {}", cor.getData().getId()); returnResponse.setMsg("Consign Fail."); } } else { - PreserveOtherServiceImpl.LOGGER.info("[Preserve Service][Step 7] Do not need to consign"); + PreserveOtherServiceImpl.LOGGER.info("[Step 7] Do not need to consign"); } //8.send notification - PreserveOtherServiceImpl.LOGGER.info("[Preserve Service]"); User getUser = getAccount(order.getAccountId().toString(), httpHeaders); @@ -262,16 +266,17 @@ public Ticket dipatchSeat(Date date, String tripId, String startStationId, Strin } public boolean sendEmail(NotifyInfo notifyInfo, HttpHeaders httpHeaders) { + PreserveOtherServiceImpl.LOGGER.info("[Preserve Other Service][Send Email] send email to mq"); + + try { + String infoJson = JsonUtils.object2Json(notifyInfo); + sendService.send(infoJson); + } catch (Exception e) { + PreserveOtherServiceImpl.LOGGER.error("[Preserve Other Service] send email to mq error, exception is:" + e); + return false; + } - PreserveOtherServiceImpl.LOGGER.info("[Preserve Service][Send Email]"); - HttpEntity requestEntitySendEmail = new HttpEntity(notifyInfo, httpHeaders); - ResponseEntity reSendEmail = restTemplate.exchange( - "http://ts-notification-service:17853/api/v1/notifyservice/notification/preserve_success", - HttpMethod.POST, - requestEntitySendEmail, - Boolean.class); - - return reSendEmail.getBody(); + return true; } public User getAccount(String accountId, HttpHeaders httpHeaders) { diff --git a/ts-preserve-other-service/src/main/resources/application.yml b/ts-preserve-other-service/src/main/resources/application.yml index 86f9bc81f..a20cf0d38 100644 --- a/ts-preserve-other-service/src/main/resources/application.yml +++ b/ts-preserve-other-service/src/main/resources/application.yml @@ -14,6 +14,9 @@ server: spring: application: name: ts-preserve-other-service + rabbitmq: + host: ${rabbitmq_host:localhost} + port: ${rabbitmq_port:5672} swagger: controllerPackage: preserveOther.controller diff --git a/ts-preserve-service/Dockerfile b/ts-preserve-service/Dockerfile index 44731c513..cf9785e87 100644 --- a/ts-preserve-service/Dockerfile +++ b/ts-preserve-service/Dockerfile @@ -3,6 +3,6 @@ FROM java:8-jre RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone ADD ./target/ts-preserve-service-1.0.jar /app/ -CMD ["java", "-Xmx200m", "-jar", "/app/ts-preserve-service-1.0.jar"] +CMD ["java", "-Xmx200m", "-jar", "/app/ts-preserve-service-1.0.jar"] EXPOSE 14568 \ No newline at end of file diff --git a/ts-preserve-service/pom.xml b/ts-preserve-service/pom.xml index d631e9459..6a93e76fe 100644 --- a/ts-preserve-service/pom.xml +++ b/ts-preserve-service/pom.xml @@ -29,6 +29,11 @@ ts-common 0.1.0 + + + org.springframework.boot + spring-boot-starter-amqp + diff --git a/ts-preserve-service/src/main/java/preserve/config/Queues.java b/ts-preserve-service/src/main/java/preserve/config/Queues.java new file mode 100644 index 000000000..79c596b6a --- /dev/null +++ b/ts-preserve-service/src/main/java/preserve/config/Queues.java @@ -0,0 +1,16 @@ +package preserve.config; + +import org.springframework.amqp.core.Queue; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class Queues { + + public final static String queueName = "email"; + + @Bean + public Queue emailQueue() { + return new Queue(queueName); + } +} diff --git a/ts-preserve-service/src/main/java/preserve/controller/PreserveController.java b/ts-preserve-service/src/main/java/preserve/controller/PreserveController.java index 8635a2a25..c717eee2b 100644 --- a/ts-preserve-service/src/main/java/preserve/controller/PreserveController.java +++ b/ts-preserve-service/src/main/java/preserve/controller/PreserveController.java @@ -32,7 +32,7 @@ public String home() { @PostMapping(value = "/preserve") public HttpEntity preserve(@RequestBody OrderTicketsInfo oti, @RequestHeader HttpHeaders headers) { - PreserveController.LOGGER.info("[Preserve Service][Preserve] Account order from {} -----> {} at {}", oti.getFrom(), oti.getTo(), oti.getDate()); + PreserveController.LOGGER.info("[Preserve] Account order from {} -----> {} at {}", oti.getFrom(), oti.getTo(), oti.getDate()); return ok(preserveService.preserve(oti, headers)); } diff --git a/ts-preserve-service/src/main/java/preserve/mq/RabbitSend.java b/ts-preserve-service/src/main/java/preserve/mq/RabbitSend.java new file mode 100644 index 000000000..153f0c5a5 --- /dev/null +++ b/ts-preserve-service/src/main/java/preserve/mq/RabbitSend.java @@ -0,0 +1,23 @@ +package preserve.mq; + + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.amqp.core.AmqpTemplate; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +import preserve.config.Queues; + +@Component +public class RabbitSend { + + @Autowired + private AmqpTemplate rabbitTemplate; + private static final Logger logger = LoggerFactory.getLogger(RabbitSend.class); + + public void send(String val) { + logger.info("send info to mq:" + val); + this.rabbitTemplate.convertAndSend(Queues.queueName, val); + } + +} diff --git a/ts-preserve-service/src/main/java/preserve/service/PreserveServiceImpl.java b/ts-preserve-service/src/main/java/preserve/service/PreserveServiceImpl.java index 273516362..e8c623d9a 100644 --- a/ts-preserve-service/src/main/java/preserve/service/PreserveServiceImpl.java +++ b/ts-preserve-service/src/main/java/preserve/service/PreserveServiceImpl.java @@ -1,5 +1,6 @@ package preserve.service; +import edu.fudan.common.util.JsonUtils; import edu.fudan.common.util.Response; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -12,6 +13,7 @@ import org.springframework.stereotype.Service; import org.springframework.web.client.RestTemplate; import preserve.entity.*; +import preserve.mq.RabbitSend; import java.util.Date; import java.util.UUID; @@ -25,30 +27,34 @@ public class PreserveServiceImpl implements PreserveService { @Autowired private RestTemplate restTemplate; + @Autowired + private RabbitSend sendService; + private static final Logger LOGGER = LoggerFactory.getLogger(PreserveServiceImpl.class); @Override public Response preserve(OrderTicketsInfo oti, HttpHeaders headers) { //1.detect ticket scalper - PreserveServiceImpl.LOGGER.info("[Preserve Service] [Step 1] Check Security"); + PreserveServiceImpl.LOGGER.info("[Step 1] Check Security"); Response result = checkSecurity(oti.getAccountId(), headers); if (result.getStatus() == 0) { + PreserveServiceImpl.LOGGER.error("[Step 1] Check Security Fail, AccountId: {}",oti.getAccountId()); return new Response<>(0, result.getMsg(), null); } - PreserveServiceImpl.LOGGER.info("[Preserve Service] [Step 1] Check Security Complete"); + PreserveServiceImpl.LOGGER.info("[Step 1] Check Security Complete"); //2.Querying contact information -- modification, mediated by the underlying information micro service - PreserveServiceImpl.LOGGER.info("[Preserve Service] [Step 2] Find contacts"); - PreserveServiceImpl.LOGGER.info("[Preserve Service] [Step 2] Contacts Id: {}", oti.getContactsId()); + PreserveServiceImpl.LOGGER.info("[Step 2] Find contacts"); + PreserveServiceImpl.LOGGER.info("[Step 2] Contacts Id: {}", oti.getContactsId()); Response gcr = getContactsById(oti.getContactsId(), headers); if (gcr.getStatus() == 0) { - PreserveServiceImpl.LOGGER.info("[Preserve Service][Get Contacts] Fail. {}", gcr.getMsg()); + PreserveServiceImpl.LOGGER.error("[Get Contacts] Fail,ContactsId: {},message: {}",oti.getContactsId(),gcr.getMsg()); return new Response<>(0, gcr.getMsg(), null); } - PreserveServiceImpl.LOGGER.info("[Preserve Service][Step 2] Complete"); + PreserveServiceImpl.LOGGER.info("[Step 2] Complete"); //3.Check the info of train and the number of remaining tickets - PreserveServiceImpl.LOGGER.info("[Preserve Service] [Step 3] Check tickets num"); + PreserveServiceImpl.LOGGER.info("[Step 3] Check tickets num"); TripAllDetailInfo gtdi = new TripAllDetailInfo(); gtdi.setFrom(oti.getFrom()); @@ -56,32 +62,32 @@ public Response preserve(OrderTicketsInfo oti, HttpHeaders headers) { gtdi.setTravelDate(oti.getDate()); gtdi.setTripId(oti.getTripId()); - PreserveServiceImpl.LOGGER.info("[Preserve Service] [Step 3] TripId: {}", oti.getTripId()); + PreserveServiceImpl.LOGGER.info("[Step 3] TripId: {}", oti.getTripId()); Response response = getTripAllDetailInformation(gtdi, headers); TripAllDetail gtdr = response.getData(); LOGGER.info("TripAllDetail:" + gtdr.toString()); if (response.getStatus() == 0) { - PreserveServiceImpl.LOGGER.info("[Preserve Service][Search For Trip Detail Information] {}", response.getMsg()); + PreserveServiceImpl.LOGGER.error("[Search For Trip Detail Information] error, TripId: {}, message: {}", gtdi.getTripId(), response.getMsg()); return new Response<>(0, response.getMsg(), null); } else { TripResponse tripResponse = gtdr.getTripResponse(); LOGGER.info("TripResponse:" + tripResponse.toString()); if (oti.getSeatType() == SeatClass.FIRSTCLASS.getCode()) { if (tripResponse.getConfortClass() == 0) { - PreserveServiceImpl.LOGGER.info("[Preserve Service][Check seat is enough] "); + PreserveServiceImpl.LOGGER.warn("[Check seat is enough], TripId: {}",oti.getTripId()); return new Response<>(0, "Seat Not Enough", null); } } else { if (tripResponse.getEconomyClass() == SeatClass.SECONDCLASS.getCode() && tripResponse.getConfortClass() == 0) { - PreserveServiceImpl.LOGGER.info("[Preserve Service][Check seat is enough] "); + PreserveServiceImpl.LOGGER.warn("[Check seat is Not enough], TripId: {}",oti.getTripId()); return new Response<>(0, "Seat Not Enough", null); } } } Trip trip = gtdr.getTrip(); - PreserveServiceImpl.LOGGER.info("[Preserve Service] [Step 3] Tickets Enough"); + PreserveServiceImpl.LOGGER.info("[Step 3] Tickets Enough"); //4.send the order request and set the order information - PreserveServiceImpl.LOGGER.info("[Preserve Service] [Step 4] Do Order"); + PreserveServiceImpl.LOGGER.info("[Step 4] Do Order"); Contacts contacts = gcr.getData(); Order order = new Order(); UUID orderId = UUID.randomUUID(); @@ -116,7 +122,7 @@ public Response preserve(OrderTicketsInfo oti, HttpHeaders headers) { TravelResult resultForTravel = re.getBody().getData(); order.setSeatClass(oti.getSeatType()); - PreserveServiceImpl.LOGGER.info("[Preserve Service][Order] Order Travel Date: {}", oti.getDate().toString()); + PreserveServiceImpl.LOGGER.info("[Order] Order Travel Date: {}", oti.getDate().toString()); order.setTravelDate(oti.getDate()); order.setTravelTime(gtdr.getTripResponse().getStartingTime()); @@ -139,26 +145,26 @@ public Response preserve(OrderTicketsInfo oti, HttpHeaders headers) { order.setPrice(resultForTravel.getPrices().get("economyClass")); } - PreserveServiceImpl.LOGGER.info("[Preserve Service][Order Price] Price is: {}", order.getPrice()); + PreserveServiceImpl.LOGGER.info("[Order Price] Price is: {}", order.getPrice()); Response cor = createOrder(order, headers); if (cor.getStatus() == 0) { - PreserveServiceImpl.LOGGER.info("[Preserve Service][Create Order Fail] Create Order Fail. Reason: {}", cor.getMsg()); + PreserveServiceImpl.LOGGER.error("[Create Order Fail] Create Order Fail. OrderId: {}, Reason: {}", order.getId(), cor.getMsg()); return new Response<>(0, cor.getMsg(), null); } - PreserveServiceImpl.LOGGER.info("[Preserve Service] [Step 4] Do Order Complete"); + PreserveServiceImpl.LOGGER.info("[Step 4] Do Order Complete"); Response returnResponse = new Response<>(1, "Success.", cor.getMsg()); //5.Check insurance options if (oti.getAssurance() == 0) { - PreserveServiceImpl.LOGGER.info("[Preserve Service][Step 5] Do not need to buy assurance"); + PreserveServiceImpl.LOGGER.info("[Step 5] Do not need to buy assurance"); } else { Response addAssuranceResult = addAssuranceForOrder( oti.getAssurance(), cor.getData().getId().toString(), headers); if (addAssuranceResult.getStatus() == 1) { - PreserveServiceImpl.LOGGER.info("[Preserve Service][Step 5] Buy Assurance Success"); + PreserveServiceImpl.LOGGER.info("[Step 5] Buy Assurance Success"); } else { - PreserveServiceImpl.LOGGER.info("[Preserve Service][Step 5] Buy Assurance Fail."); + PreserveServiceImpl.LOGGER.warn("[Step 5] Buy Assurance Fail, assurance: {}, OrderId: {}", oti.getAssurance(),cor.getData().getId()); returnResponse.setMsg("Success.But Buy Assurance Fail."); } } @@ -175,17 +181,17 @@ public Response preserve(OrderTicketsInfo oti, HttpHeaders headers) { if (oti.getFoodType() == 2) { foodOrder.setStationName(oti.getStationName()); foodOrder.setStoreName(oti.getStoreName()); - PreserveServiceImpl.LOGGER.info("[Food Service]!!!!!!!!!!!!!!!foodstore= {} {} {}", foodOrder.getFoodType(), foodOrder.getStationName(), foodOrder.getStoreName()); + PreserveServiceImpl.LOGGER.info("foodstore= {} {} {}", foodOrder.getFoodType(), foodOrder.getStationName(), foodOrder.getStoreName()); } Response afor = createFoodOrder(foodOrder, headers); if (afor.getStatus() == 1) { - PreserveServiceImpl.LOGGER.info("[Preserve Service][Step 6] Buy Food Success"); + PreserveServiceImpl.LOGGER.info("[Step 6] Buy Food Success"); } else { - PreserveServiceImpl.LOGGER.info("[Preserve Service][Step 6] Buy Food Fail."); + PreserveServiceImpl.LOGGER.error("[Step 6] Buy Food Fail, OrderId: {}",cor.getData().getId()); returnResponse.setMsg("Success.But Buy Food Fail."); } } else { - PreserveServiceImpl.LOGGER.info("[Preserve Service][Step 6] Do not need to buy food"); + PreserveServiceImpl.LOGGER.info("[Step 6] Do not need to buy food"); } //7.add consign @@ -205,17 +211,16 @@ public Response preserve(OrderTicketsInfo oti, HttpHeaders headers) { LOGGER.info("CONSIGN INFO : " +consignRequest.toString()); Response icresult = createConsign(consignRequest, headers); if (icresult.getStatus() == 1) { - PreserveServiceImpl.LOGGER.info("[Preserve Service][Step 7] Consign Success"); + PreserveServiceImpl.LOGGER.info("[Step 7] Consign Success"); } else { - PreserveServiceImpl.LOGGER.info("[Preserve Service][Step 7] Consign Fail."); + PreserveServiceImpl.LOGGER.error("[Step 7] Preserve Consign Fail, OrderId: {}", cor.getData().getId()); returnResponse.setMsg("Consign Fail."); } } else { - PreserveServiceImpl.LOGGER.info("[Preserve Service][Step 7] Do not need to consign"); + PreserveServiceImpl.LOGGER.info("[Step 7] Do not need to consign"); } //8.send notification - PreserveServiceImpl.LOGGER.info("[Preserve Service]"); User getUser = getAccount(order.getAccountId().toString(), headers); @@ -258,15 +263,17 @@ public Ticket dipatchSeat(Date date, String tripId, String startStationId, Strin } public boolean sendEmail(NotifyInfo notifyInfo, HttpHeaders httpHeaders) { - PreserveServiceImpl.LOGGER.info("[Preserve Service][Send Email]"); - HttpEntity requestEntitySendEmail = new HttpEntity(notifyInfo, httpHeaders); - ResponseEntity reSendEmail = restTemplate.exchange( - "http://ts-notification-service:17853/api/v1/notifyservice/notification/preserve_success", - HttpMethod.POST, - requestEntitySendEmail, - Boolean.class); + PreserveServiceImpl.LOGGER.info("[Preserve Service][Send Email] send email to mq"); + + try { + String infoJson = JsonUtils.object2Json(notifyInfo); + sendService.send(infoJson); + } catch (Exception e) { + PreserveServiceImpl.LOGGER.error("[Preserve Service] send email to mq error, exception is:" + e); + return false; + } - return reSendEmail.getBody(); + return true; } public User getAccount(String accountId, HttpHeaders httpHeaders) { diff --git a/ts-preserve-service/src/main/resources/application.yml b/ts-preserve-service/src/main/resources/application.yml index 9f7606165..192f46007 100644 --- a/ts-preserve-service/src/main/resources/application.yml +++ b/ts-preserve-service/src/main/resources/application.yml @@ -14,6 +14,9 @@ server: spring: application: name: ts-preserve-service + rabbitmq: + host: ${rabbitmq_host:localhost} + port: ${rabbitmq_port:5672} swagger: controllerPackage: preserve.controller \ No newline at end of file diff --git a/ts-price-service/Dockerfile b/ts-price-service/Dockerfile index df76b2514..0c994fc0e 100644 --- a/ts-price-service/Dockerfile +++ b/ts-price-service/Dockerfile @@ -3,6 +3,6 @@ FROM java:8-jre RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone ADD ./target/ts-price-service-1.0.jar /app/ -CMD ["java", "-Xmx200m", "-jar", "/app/ts-price-service-1.0.jar"] +CMD ["java", "-Xmx200m", "-jar", "/app/ts-price-service-1.0.jar"] EXPOSE 16579 \ No newline at end of file diff --git a/ts-price-service/pom.xml b/ts-price-service/pom.xml index c91ff08d3..584d4b48c 100644 --- a/ts-price-service/pom.xml +++ b/ts-price-service/pom.xml @@ -33,6 +33,8 @@ ts-common 0.1.0 + + diff --git a/ts-price-service/src/main/java/price/controller/PriceController.java b/ts-price-service/src/main/java/price/controller/PriceController.java index bd3311816..b73ba61c7 100644 --- a/ts-price-service/src/main/java/price/controller/PriceController.java +++ b/ts-price-service/src/main/java/price/controller/PriceController.java @@ -1,5 +1,7 @@ package price.controller; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; @@ -20,6 +22,8 @@ public class PriceController { @Autowired PriceService service; + private static final Logger LOGGER = LoggerFactory.getLogger(PriceController.class); + @GetMapping(path = "/prices/welcome") public String home() { return "Welcome to [ Price Service ] !"; @@ -28,27 +32,32 @@ public String home() { @GetMapping(value = "/prices/{routeId}/{trainType}") public HttpEntity query(@PathVariable String routeId, @PathVariable String trainType, @RequestHeader HttpHeaders headers) { + PriceController.LOGGER.info("Query price, RouteId: {}, TrainType: {}",routeId,trainType); return ok(service.findByRouteIdAndTrainType(routeId, trainType, headers)); } @GetMapping(value = "/prices") public HttpEntity queryAll(@RequestHeader HttpHeaders headers) { + PriceController.LOGGER.info("Query all prices"); return ok(service.findAllPriceConfig(headers)); } @PostMapping(value = "/prices") public HttpEntity create(@RequestBody PriceConfig info, @RequestHeader HttpHeaders headers) { + PriceController.LOGGER.info("Create price, RouteId: {}, TrainType: {}",info.getRouteId(),info.getTrainType()); return new ResponseEntity<>(service.createNewPriceConfig(info, headers), HttpStatus.CREATED); } @DeleteMapping(value = "/prices") public HttpEntity delete(@RequestBody PriceConfig info, @RequestHeader HttpHeaders headers) { + PriceController.LOGGER.info("Delete price, PriceConfigId: {}",info.getId()); return ok(service.deletePriceConfig(info, headers)); } @PutMapping(value = "/prices") public HttpEntity update(@RequestBody PriceConfig info, @RequestHeader HttpHeaders headers) { + PriceController.LOGGER.info("Update price, PriceConfigId: {}",info.getId()); return ok(service.updatePriceConfig(info, headers)); } } diff --git a/ts-price-service/src/main/java/price/service/PriceServiceImpl.java b/ts-price-service/src/main/java/price/service/PriceServiceImpl.java index bd0e05b73..e70f495f6 100644 --- a/ts-price-service/src/main/java/price/service/PriceServiceImpl.java +++ b/ts-price-service/src/main/java/price/service/PriceServiceImpl.java @@ -29,7 +29,7 @@ public class PriceServiceImpl implements PriceService { @Override public Response createNewPriceConfig(PriceConfig createAndModifyPriceConfig, HttpHeaders headers) { - PriceServiceImpl.LOGGER.info("[Price Service][Create New Price Config]"); + PriceServiceImpl.LOGGER.info("[Create New Price Config]"); PriceConfig priceConfig = null; // create if (createAndModifyPriceConfig.getId() == null || createAndModifyPriceConfig.getId().toString().length() < 10) { @@ -58,17 +58,18 @@ public Response createNewPriceConfig(PriceConfig createAndModifyPriceConfig, Htt @Override public PriceConfig findById(String id, HttpHeaders headers) { - PriceServiceImpl.LOGGER.info("[Price Service][Find By Id] ID: {}", id); + PriceServiceImpl.LOGGER.info("[Find By Id] ID: {}", id); return priceConfigRepository.findById(UUID.fromString(id)); } @Override public Response findByRouteIdAndTrainType(String routeId, String trainType, HttpHeaders headers) { - PriceServiceImpl.LOGGER.info("[Price Service][Find By Route And Train Type] Rote: {} Train Type: {}", routeId, trainType); + PriceServiceImpl.LOGGER.info("[Find By Route And Train Type] Rote: {} Train Type: {}", routeId, trainType); PriceConfig priceConfig = priceConfigRepository.findByRouteIdAndTrainType(routeId, trainType); - PriceServiceImpl.LOGGER.info("[Price Service][Find By Route Id And Train Type]"); + PriceServiceImpl.LOGGER.info("[Find By Route Id And Train Type]"); if (priceConfig == null) { + PriceServiceImpl.LOGGER.warn("Find by route and train type warn. PricrConfig not found, RouteId: {}, TrainType: {}",routeId,trainType); return new Response<>(0, noThatConfig, null); } else { return new Response<>(1, "Success", priceConfig); @@ -84,6 +85,7 @@ public Response findAllPriceConfig(HttpHeaders headers) { } if (!list.isEmpty()) { + PriceServiceImpl.LOGGER.warn("Find all price config warn,{}","No Content"); return new Response<>(1, "Success", list); } else { return new Response<>(0, "No price config", null); @@ -95,6 +97,7 @@ public Response findAllPriceConfig(HttpHeaders headers) { public Response deletePriceConfig(PriceConfig c, HttpHeaders headers) { PriceConfig priceConfig = priceConfigRepository.findById(c.getId()); if (priceConfig == null) { + PriceServiceImpl.LOGGER.error("Delete price config error. Price config not found, PriceConfigId: {}",c.getId()); return new Response<>(0, noThatConfig, null); } else { PriceConfig pc = new PriceConfig(); @@ -112,6 +115,7 @@ public Response deletePriceConfig(PriceConfig c, HttpHeaders headers) { public Response updatePriceConfig(PriceConfig c, HttpHeaders headers) { PriceConfig priceConfig = priceConfigRepository.findById(c.getId()); if (priceConfig == null) { + PriceServiceImpl.LOGGER.error("Update price config error. Price config not found, PriceConfigId: {}",c.getId()); return new Response<>(0, noThatConfig, null); } else { priceConfig.setId(c.getId()); diff --git a/ts-rebook-service/Dockerfile b/ts-rebook-service/Dockerfile index 68557d3b7..79868eca0 100644 --- a/ts-rebook-service/Dockerfile +++ b/ts-rebook-service/Dockerfile @@ -3,6 +3,6 @@ FROM java:8-jre RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone ADD ./target/ts-rebook-service-1.0.jar /app/ -CMD ["java", "-Xmx200m", "-jar", "/app/ts-rebook-service-1.0.jar"] +CMD ["java", "-Xmx200m", "-jar", "/app/ts-rebook-service-1.0.jar"] EXPOSE 18886 \ No newline at end of file diff --git a/ts-rebook-service/pom.xml b/ts-rebook-service/pom.xml index 1cf9c9134..244c00764 100644 --- a/ts-rebook-service/pom.xml +++ b/ts-rebook-service/pom.xml @@ -30,6 +30,8 @@ ts-common 0.1.0 + + diff --git a/ts-rebook-service/src/main/java/rebook/controller/RebookController.java b/ts-rebook-service/src/main/java/rebook/controller/RebookController.java index 716a411da..d5773645d 100644 --- a/ts-rebook-service/src/main/java/rebook/controller/RebookController.java +++ b/ts-rebook-service/src/main/java/rebook/controller/RebookController.java @@ -31,12 +31,13 @@ public String home() { @PostMapping(value = "/rebook/difference") public HttpEntity payDifference(@RequestBody RebookInfo info, @RequestHeader HttpHeaders headers) { + RebookController.LOGGER.info("Pay difference,OrderId: {}",info.getOrderId()); return ok(service.payDifference(info, headers)); } @PostMapping(value = "/rebook") public HttpEntity rebook(@RequestBody RebookInfo info, @RequestHeader HttpHeaders headers) { - RebookController.LOGGER.info("[Rebook Service] OrderId: {} Old Trip Id: {} New Trip Id: {} Date: {} Seat Type: {}", info.getOrderId(), info.getOldTripId(), info.getTripId(), info.getDate(), info.getSeatType()); + RebookController.LOGGER.info("Rebook,OrderId: {} Old Trip Id: {} New Trip Id: {} Date: {} Seat Type: {}", info.getOrderId(), info.getOldTripId(), info.getTripId(), info.getDate(), info.getSeatType()); return ok(service.rebook(info, headers)); } diff --git a/ts-rebook-service/src/main/java/rebook/service/RebookServiceImpl.java b/ts-rebook-service/src/main/java/rebook/service/RebookServiceImpl.java index f6108a526..efc78de9d 100644 --- a/ts-rebook-service/src/main/java/rebook/service/RebookServiceImpl.java +++ b/ts-rebook-service/src/main/java/rebook/service/RebookServiceImpl.java @@ -1,6 +1,8 @@ package rebook.service; import edu.fudan.common.util.Response; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.ParameterizedTypeReference; import org.springframework.http.HttpEntity; @@ -25,6 +27,8 @@ public class RebookServiceImpl implements RebookService { @Autowired private RestTemplate restTemplate; + private static final Logger LOGGER = LoggerFactory.getLogger(RebookServiceImpl.class); + @Override public Response rebook(RebookInfo info, HttpHeaders httpHeaders) { @@ -32,28 +36,35 @@ public Response rebook(RebookInfo info, HttpHeaders httpHeaders) { if (queryOrderResult.getStatus() == 1) { if (queryOrderResult.getData().getStatus() != 1) { + RebookServiceImpl.LOGGER.warn("Rebook warn.Order not suitable to rebook,OrderId: {}",info.getOrderId()); return new Response<>(0, "you order not suitable to rebook!", null); } } else { + RebookServiceImpl.LOGGER.warn("Rebook warn.Order not found,OrderId: {}",info.getOrderId()); return new Response(0, "order not found", null); } Order order = queryOrderResult.getData(); int status = order.getStatus(); if (status == OrderStatus.NOTPAID.getCode()) { + RebookServiceImpl.LOGGER.warn("Rebook warn.Order not paid, OrderId: {}",info.getOrderId()); return new Response<>(0, "You haven't paid the original ticket!", null); } else if (status == OrderStatus.PAID.getCode()) { // do nothing } else if (status == OrderStatus.CHANGE.getCode()) { + RebookServiceImpl.LOGGER.warn("Rebook warn.Order can't change twice,OrderId: {}",info.getOrderId()); return new Response<>(0, "You have already changed your ticket and you can only change one time.", null); } else if (status == OrderStatus.COLLECTED.getCode()) { + RebookServiceImpl.LOGGER.warn("Rebook warn.Order already collected,OrderId: {}",info.getOrderId()); return new Response<>(0, "You have already collected your ticket and you can change it now.", null); } else { + RebookServiceImpl.LOGGER.warn("Rebook warn.Order can't change,OrderId: {}",info.getOrderId()); return new Response<>(0, "You can't change your ticket.", null); } //Check the current time and the bus time of the old order, and judge whether the ticket can be changed according to the time. The ticket cannot be changed after two hours. if (!checkTime(order.getTravelDate(), order.getTravelTime())) { + RebookServiceImpl.LOGGER.warn("Rebook warn.Order beyond change time,OrderId: {}",info.getOrderId()); return new Response<>(0, "You can only change the ticket before the train start or within 2 hours after the train start.", null); } @@ -66,15 +77,18 @@ public Response rebook(RebookInfo info, HttpHeaders httpHeaders) { gtdi.setTripId(info.getTripId()); Response gtdr = getTripAllDetailInformation(gtdi, info.getTripId(), httpHeaders); if (gtdr.getStatus() == 0) { + RebookServiceImpl.LOGGER.warn("Rebook warn.Trip detail not found,OrderId: {}",info.getOrderId()); return new Response<>(0, gtdr.getMsg(), null); } else { TripResponse tripResponse = gtdr.getData().getTripResponse(); if (info.getSeatType() == SeatClass.FIRSTCLASS.getCode()) { if (tripResponse.getConfortClass() <= 0) { + RebookServiceImpl.LOGGER.warn("Rebook warn.Seat Not Enough,OrderId: {},SeatType: {}",info.getOrderId(),info.getSeatType()); return new Response<>(0, "Seat Not Enough", null); } } else { if (tripResponse.getEconomyClass() == SeatClass.SECONDCLASS.getCode() && tripResponse.getConfortClass() <= 0) { + RebookServiceImpl.LOGGER.warn("Rebook warn.Seat Not Enough,OrderId: {},SeatType: {}",info.getOrderId(),info.getSeatType()); return new Response<>(0, "Seat Not Enough", null); } } @@ -96,6 +110,7 @@ public Response rebook(RebookInfo info, HttpHeaders httpHeaders) { //Refund the difference String difference = priceOld.subtract(priceNew).toString(); if (!drawBackMoney(info.getLoginId(), difference, httpHeaders)) { + RebookServiceImpl.LOGGER.warn("Rebook warn.Can't draw back the difference money,OrderId: {},LoginId: {},difference: {}",info.getOrderId(),info.getLoginId(),difference); return new Response<>(0, "Can't draw back the difference money, please try again!", null); } return updateOrder(order, info, (TripAllDetail) gtdr.getData(), ticketPrice, httpHeaders); @@ -114,6 +129,7 @@ public Response rebook(RebookInfo info, HttpHeaders httpHeaders) { @Override public Response payDifference(RebookInfo info, HttpHeaders httpHeaders) { + httpHeaders = null; Response queryOrderResult = getOrderByRebookInfo(info, httpHeaders); @@ -144,6 +160,7 @@ public Response payDifference(RebookInfo info, HttpHeaders httpHeaders) { if (payDifferentMoney(info.getOrderId(), info.getTripId(), info.getLoginId(), priceNew.subtract(priceOld).toString(), httpHeaders)) { return updateOrder(order, info, gtdr, ticketPrice, httpHeaders); } else { + RebookServiceImpl.LOGGER.warn("Pay difference warn.Can't pay the difference money,OrderId: {},LoginId: {},TripId: {}",info.getOrderId(),info.getLoginId(),info.getTripId()); return new Response<>(0, "Can't pay the difference,please try again", null); } } @@ -185,6 +202,7 @@ private Response updateOrder(Order order, RebookInfo info, TripAllDetail gtdr, S if (changeOrderResult.getStatus() == 1) { return new Response<>(1, "Success!", order); } else { + RebookServiceImpl.LOGGER.error("Update order error,OrderId: {},TripId: {}",info.getOrderId(),info.getTripId()); return new Response<>(0, "Can't update Order!", null); } } else { @@ -204,7 +222,8 @@ public Ticket dipatchSeat(Date date, String tripId, String startStationId, Strin seatRequest.setStartStation(startStationId); seatRequest.setDestStation(endStataionId); - HttpEntity requestEntityTicket = new HttpEntity(seatRequest, httpHeaders); + HttpHeaders newHeaders = getAuthorizationHeadersFrom(httpHeaders); + HttpEntity requestEntityTicket = new HttpEntity(seatRequest, newHeaders); ResponseEntity> reTicket = restTemplate.exchange( "http://ts-seat-service:18898/api/v1/seatservice/seats", HttpMethod.POST, @@ -259,7 +278,8 @@ private Response getTripAllDetailInformation(TripAllDetailInfo gt requestUrl = "http://ts-travel2-service:16346/api/v1/travel2service/trip_detail"; //ts-travel2-service:16346/travel2/getTripAllDetailInfo } - HttpEntity requestGetTripAllDetailResult = new HttpEntity(gtdi, httpHeaders); + HttpHeaders newHeaders = getAuthorizationHeadersFrom(httpHeaders); + HttpEntity requestGetTripAllDetailResult = new HttpEntity(gtdi, newHeaders); ResponseEntity> reGetTripAllDetailResult = restTemplate.exchange( requestUrl, HttpMethod.POST, @@ -279,7 +299,8 @@ private Response createOrder(Order order, String tripId, HttpHeaders httpHeaders //ts-order-other-service:12032/orderOther/create requestUrl = "http://ts-order-other-service:12032/api/v1/orderOtherService/orderOther"; } - HttpEntity requestCreateOrder = new HttpEntity(order, httpHeaders); + HttpHeaders newHeaders = getAuthorizationHeadersFrom(httpHeaders); + HttpEntity requestCreateOrder = new HttpEntity(order, newHeaders); ResponseEntity reCreateOrder = restTemplate.exchange( requestUrl, HttpMethod.POST, @@ -295,7 +316,8 @@ private Response updateOrder(Order info, String tripId, HttpHeaders httpHeaders) } else { requestOrderUtl = "http://ts-order-other-service:12032/api/v1/orderOtherService/orderOther"; } - HttpEntity requestUpdateOrder = new HttpEntity(info, httpHeaders); + HttpHeaders newHeaders = getAuthorizationHeadersFrom(httpHeaders); + HttpEntity requestUpdateOrder = new HttpEntity(info, newHeaders); ResponseEntity reUpdateOrder = restTemplate.exchange( requestOrderUtl, HttpMethod.PUT, @@ -312,7 +334,8 @@ private Response deleteOrder(String orderId, String tripId, HttpHeaders httpHead } else { requestUrl = "http://ts-order-other-service:12032/api/v1/orderOtherService/orderOther/" + orderId; } - HttpEntity requestDeleteOrder = new HttpEntity(httpHeaders); + HttpHeaders newHeaders = getAuthorizationHeadersFrom(httpHeaders); + HttpEntity requestDeleteOrder = new HttpEntity(newHeaders); ResponseEntity reDeleteOrder = restTemplate.exchange( requestUrl, HttpMethod.POST, @@ -331,7 +354,8 @@ private Response getOrderByRebookInfo(RebookInfo info, HttpHeaders httpHe } else { requestUrl = "http://ts-order-other-service:12032/api/v1/orderOtherService/orderOther/" + info.getOrderId(); } - HttpEntity requestEntityGetOrderByRebookInfo = new HttpEntity(httpHeaders); + HttpHeaders newHeaders = getAuthorizationHeadersFrom(httpHeaders); + HttpEntity requestEntityGetOrderByRebookInfo = new HttpEntity(newHeaders); ResponseEntity> reGetOrderByRebookInfo = restTemplate.exchange( requestUrl, HttpMethod.GET, @@ -343,7 +367,8 @@ private Response getOrderByRebookInfo(RebookInfo info, HttpHeaders httpHe } private String queryForStationName(String stationId, HttpHeaders httpHeaders) { - HttpEntity requestEntityQueryForStationName = new HttpEntity(httpHeaders); + HttpHeaders newHeaders = getAuthorizationHeadersFrom(httpHeaders); + HttpEntity requestEntityQueryForStationName = new HttpEntity(newHeaders); ResponseEntity reQueryForStationName = restTemplate.exchange( "http://ts-station-service:12345/api/v1/stationservice/stations/name/" + stationId, HttpMethod.GET, @@ -360,7 +385,8 @@ private boolean payDifferentMoney(String orderId, String tripId, String userId, info.setUserId(userId); info.setPrice(money); - HttpEntity requestEntityPayDifferentMoney = new HttpEntity(info, httpHeaders); + HttpHeaders newHeaders = getAuthorizationHeadersFrom(httpHeaders); + HttpEntity requestEntityPayDifferentMoney = new HttpEntity(info, newHeaders); ResponseEntity rePayDifferentMoney = restTemplate.exchange( "http://ts-inside-payment-service:18673/api/v1/inside_pay_service/inside_payment/difference", HttpMethod.POST, @@ -372,7 +398,8 @@ private boolean payDifferentMoney(String orderId, String tripId, String userId, private boolean drawBackMoney(String userId, String money, HttpHeaders httpHeaders) { - HttpEntity requestEntityDrawBackMoney = new HttpEntity(httpHeaders); + HttpHeaders newHeaders = getAuthorizationHeadersFrom(httpHeaders); + HttpEntity requestEntityDrawBackMoney = new HttpEntity(newHeaders); ResponseEntity reDrawBackMoney = restTemplate.exchange( "http://ts-inside-payment-service:18673/api/v1/inside_pay_service/inside_payment/drawback/" + userId + "/" + money, HttpMethod.GET, @@ -382,4 +409,11 @@ private boolean drawBackMoney(String userId, String money, HttpHeaders httpHeade return result.getStatus() == 1; } + public static HttpHeaders getAuthorizationHeadersFrom(HttpHeaders oldHeaders) { + HttpHeaders newHeaders = new HttpHeaders(); + if (oldHeaders.containsKey(HttpHeaders.AUTHORIZATION)) { + newHeaders.add(HttpHeaders.AUTHORIZATION, oldHeaders.getFirst(HttpHeaders.AUTHORIZATION)); + } + return newHeaders; + } } diff --git a/ts-route-plan-service/Dockerfile b/ts-route-plan-service/Dockerfile index bff951938..ffdb504c8 100644 --- a/ts-route-plan-service/Dockerfile +++ b/ts-route-plan-service/Dockerfile @@ -3,6 +3,6 @@ FROM java:8-jre RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone ADD ./target/ts-route-plan-service-1.0.jar /app/ -CMD ["java", "-Xmx200m", "-jar", "/app/ts-route-plan-service-1.0.jar"] +CMD ["java", "-Xmx200m", "-jar", "/app/ts-route-plan-service-1.0.jar"] EXPOSE 14578 \ No newline at end of file diff --git a/ts-route-plan-service/pom.xml b/ts-route-plan-service/pom.xml index a9c2f9169..8c5bf5ddf 100644 --- a/ts-route-plan-service/pom.xml +++ b/ts-route-plan-service/pom.xml @@ -31,6 +31,8 @@ ts-common 0.1.0 + + diff --git a/ts-route-plan-service/src/main/java/plan/controller/RoutePlanController.java b/ts-route-plan-service/src/main/java/plan/controller/RoutePlanController.java index a65491b6f..ea403c8e0 100644 --- a/ts-route-plan-service/src/main/java/plan/controller/RoutePlanController.java +++ b/ts-route-plan-service/src/main/java/plan/controller/RoutePlanController.java @@ -29,19 +29,19 @@ public String home() { @PostMapping(value = "/routePlan/cheapestRoute") public HttpEntity getCheapestRoutes(@RequestBody RoutePlanInfo info, @RequestHeader HttpHeaders headers) { - RoutePlanController.LOGGER.info("[Route Plan Service][Get Cheapest Routes] From: {} To: {} Num: {} Date: {}", info.getFormStationName(), info.getToStationName(), + info.getNum(), info.getTravelDate()); + RoutePlanController.LOGGER.info("[Get Cheapest Routes] From: {} To: {} Num: {} Date: {}", info.getFormStationName(), info.getToStationName(), + info.getNum(), info.getTravelDate()); return ok(routePlanService.searchCheapestResult(info, headers)); } @PostMapping(value = "/routePlan/quickestRoute") public HttpEntity getQuickestRoutes(@RequestBody RoutePlanInfo info, @RequestHeader HttpHeaders headers) { - RoutePlanController.LOGGER.info("[Route Plan Service][Get Quickest Routes] From: {} To: {} Num: {} Date: {}", info.getFormStationName(), info.getToStationName(), info.getNum(), info.getTravelDate()); + RoutePlanController.LOGGER.info("[Get Quickest Routes] From: {} To: {} Num: {} Date: {}", info.getFormStationName(), info.getToStationName(), info.getNum(), info.getTravelDate()); return ok(routePlanService.searchQuickestResult(info, headers)); } @PostMapping(value = "/routePlan/minStopStations") public HttpEntity getMinStopStations(@RequestBody RoutePlanInfo info, @RequestHeader HttpHeaders headers) { - RoutePlanController.LOGGER.info("[Route Plan Service][Get Min Stop Stations] From: {} To: {} Num: {} Date: {}", info.getFormStationName(), info.getToStationName(), info.getNum(), info.getTravelDate()); + RoutePlanController.LOGGER.info("[Get Min Stop Stations] From: {} To: {} Num: {} Date: {}", info.getFormStationName(), info.getToStationName(), info.getNum(), info.getTravelDate()); return ok(routePlanService.searchMinStopStations(info, headers)); } diff --git a/ts-route-plan-service/src/main/java/plan/service/RoutePlanServiceImpl.java b/ts-route-plan-service/src/main/java/plan/service/RoutePlanServiceImpl.java index db0aa5fba..b64449590 100644 --- a/ts-route-plan-service/src/main/java/plan/service/RoutePlanServiceImpl.java +++ b/ts-route-plan-service/src/main/java/plan/service/RoutePlanServiceImpl.java @@ -153,7 +153,7 @@ public Response searchMinStopStations(RoutePlanInfo info, HttpHeaders headers) { RoutePlanServiceImpl.LOGGER.info("From Id: {} To: {}", fromStationId , toStationId); //1.Get the route through the two stations - HttpEntity requestEntity = new HttpEntity(headers); + HttpEntity requestEntity = new HttpEntity(null); ResponseEntity>> re = restTemplate.exchange( "http://ts-route-service:11178/api/v1/routeservice/routes/" + fromStationId + "/" + toStationId, HttpMethod.GET, @@ -163,7 +163,7 @@ public Response searchMinStopStations(RoutePlanInfo info, HttpHeaders headers) { ArrayList routeList = re.getBody().getData(); - RoutePlanServiceImpl.LOGGER.info("[Route Plan Service] Candidate Route Number: {}", routeList.size()); + RoutePlanServiceImpl.LOGGER.info("Candidate Route Number: {}", routeList.size()); //2.Calculate how many stops there are between the two stations ArrayList gapList = new ArrayList<>(); for (int i = 0; i < routeList.size(); i++) { @@ -188,7 +188,7 @@ public Response searchMinStopStations(RoutePlanInfo info, HttpHeaders headers) { gapList.remove(minIndex); } //4.Depending on the route, go to travel-service or travel2service to get the train information - requestEntity = new HttpEntity(resultRoutes, headers); + requestEntity = new HttpEntity(resultRoutes, null); ResponseEntity>>> re2 = restTemplate.exchange( "http://ts-travel-service:12346/api/v1/travelservice/trips/routes", HttpMethod.POST, @@ -214,7 +214,7 @@ public Response searchMinStopStations(RoutePlanInfo info, HttpHeaders headers) { tempList.addAll(travelTrips.get(i)); finalTripResult.add(tempList); } - RoutePlanServiceImpl.LOGGER.info("[Route Plan Service] Trips Num: {}", finalTripResult.size()); + RoutePlanServiceImpl.LOGGER.info("Trips Num: {}", finalTripResult.size()); //5.Then, get the price and the station information according to the train information ArrayList trips = new ArrayList<>(); for (ArrayList tempTrips : finalTripResult) { @@ -230,7 +230,7 @@ public Response searchMinStopStations(RoutePlanInfo info, HttpHeaders headers) { allDetailInfo.setTravelDate(info.getTravelDate()); allDetailInfo.setFrom(info.getFormStationName()); allDetailInfo.setTo(info.getToStationName()); - requestEntity = new HttpEntity(allDetailInfo, headers); + requestEntity = new HttpEntity(allDetailInfo, null); String requestUrl = ""; if (trip.getTripId().toString().charAt(0) == 'D' || trip.getTripId().toString().charAt(0) == 'G') { requestUrl = "http://ts-travel-service:12346/api/v1/travelservice/trip_detail"; @@ -266,14 +266,14 @@ public Response searchMinStopStations(RoutePlanInfo info, HttpHeaders headers) { tripResponses.add(unit); } - RoutePlanServiceImpl.LOGGER.info("[Route Plan Service] Trips Response Unit Num: {}", tripResponses.size()); + RoutePlanServiceImpl.LOGGER.info("Trips Response Unit Num: {}", tripResponses.size()); return new Response<>(1, "Success.", tripResponses); } private String queryForStationId(String stationName, HttpHeaders headers) { - RoutePlanServiceImpl.LOGGER.info("[Preserve Service][Get Station Name]"); + RoutePlanServiceImpl.LOGGER.info("[Get Station Name]"); - HttpEntity requestEntity = new HttpEntity(headers); + HttpEntity requestEntity = new HttpEntity(null); ResponseEntity> re = restTemplate.exchange( "http://ts-station-service:12345/api/v1/stationservice/stations/id/" + stationName, HttpMethod.GET, @@ -284,8 +284,8 @@ private String queryForStationId(String stationName, HttpHeaders headers) { } private Route getRouteByRouteId(String routeId, HttpHeaders headers) { - RoutePlanServiceImpl.LOGGER.info("[Route Plan Service][Get Route By Id] Route ID:{}", routeId); - HttpEntity requestEntity = new HttpEntity(headers); + RoutePlanServiceImpl.LOGGER.info("[Get Route By Id] Route ID:{}", routeId); + HttpEntity requestEntity = new HttpEntity(null); ResponseEntity> re = restTemplate.exchange( "http://ts-route-service:11178/api/v1/routeservice/routes/" + routeId, HttpMethod.GET, @@ -295,16 +295,16 @@ private Route getRouteByRouteId(String routeId, HttpHeaders headers) { Response result = re.getBody(); if (result.getStatus() == 0) { - RoutePlanServiceImpl.LOGGER.info("[Travel Service][Get Route By Id] Fail. {}", result.getMsg()); + RoutePlanServiceImpl.LOGGER.error("[Get Route By Id] Fail, RouteId: {}", routeId); return null; } else { - RoutePlanServiceImpl.LOGGER.info("[Travel Service][Get Route By Id] Success."); + RoutePlanServiceImpl.LOGGER.info("[Get Route By Id] Success."); return result.getData(); } } private ArrayList getTripFromHighSpeedTravelServive(TripInfo info, HttpHeaders headers) { - HttpEntity requestEntity = new HttpEntity(info, headers); + HttpEntity requestEntity = new HttpEntity(info, null); ResponseEntity>> re = restTemplate.exchange( "http://ts-travel-service:12346/api/v1/travelservice/trips/left", @@ -319,7 +319,7 @@ private ArrayList getTripFromHighSpeedTravelServive(TripInfo info, } private ArrayList getTripFromNormalTrainTravelService(TripInfo info, HttpHeaders headers) { - HttpEntity requestEntity = new HttpEntity(info, headers); + HttpEntity requestEntity = new HttpEntity(info, null); ResponseEntity>> re = restTemplate.exchange( "http://ts-travel2-service:16346/api/v1/travel2service/trips/left", @@ -340,7 +340,7 @@ private List getStationList(String tripId, HttpHeaders headers) { } else { path = "http://ts-travel2-service:16346/api/v1/travel2service/routes/" + tripId; } - HttpEntity requestEntity = new HttpEntity(headers); + HttpEntity requestEntity = new HttpEntity(null); ResponseEntity> re = restTemplate.exchange( path, HttpMethod.GET, diff --git a/ts-route-service/Dockerfile b/ts-route-service/Dockerfile index 4b506a4d5..5327d62e7 100644 --- a/ts-route-service/Dockerfile +++ b/ts-route-service/Dockerfile @@ -3,6 +3,6 @@ FROM java:8-jre RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone ADD ./target/ts-route-service-1.0.jar /app/ -CMD ["java", "-Xmx200m", "-jar", "/app/ts-route-service-1.0.jar"] +CMD ["java", "-Xmx200m", "-jar", "/app/ts-route-service-1.0.jar"] EXPOSE 11178 \ No newline at end of file diff --git a/ts-route-service/pom.xml b/ts-route-service/pom.xml index 9e78f2a0c..2f8274da2 100644 --- a/ts-route-service/pom.xml +++ b/ts-route-service/pom.xml @@ -33,6 +33,8 @@ ts-common 0.1.0 + + diff --git a/ts-route-service/src/main/java/route/controller/RouteController.java b/ts-route-service/src/main/java/route/controller/RouteController.java index 679fdf690..5f1eadca8 100644 --- a/ts-route-service/src/main/java/route/controller/RouteController.java +++ b/ts-route-service/src/main/java/route/controller/RouteController.java @@ -30,24 +30,25 @@ public String home() { @PostMapping(path = "/routes") public ResponseEntity createAndModifyRoute(@RequestBody RouteInfo createAndModifyRouteInfo, @RequestHeader HttpHeaders headers) { - RouteController.LOGGER.info("Create Route id: {}", createAndModifyRouteInfo.getId()); + RouteController.LOGGER.info("Create route, start: {}, end: {}", createAndModifyRouteInfo.getStartStation(),createAndModifyRouteInfo.getEndStation()); return ok(routeService.createAndModify(createAndModifyRouteInfo, headers)); } @DeleteMapping(path = "/routes/{routeId}") public HttpEntity deleteRoute(@PathVariable String routeId, @RequestHeader HttpHeaders headers) { - RouteController.LOGGER.info("Route id: {}", routeId); + RouteController.LOGGER.info("Delete route,RouteId: {}", routeId); return ok(routeService.deleteRoute(routeId, headers)); } @GetMapping(path = "/routes/{routeId}") public HttpEntity queryById(@PathVariable String routeId, @RequestHeader HttpHeaders headers) { - RouteController.LOGGER.info("Route id: {}", routeId); + RouteController.LOGGER.info("Query route by id, RouteId: {}", routeId); return ok(routeService.getRouteById(routeId, headers)); } @GetMapping(path = "/routes") public HttpEntity queryAll(@RequestHeader HttpHeaders headers) { + RouteController.LOGGER.info("Query all routes"); return ok(routeService.getAllRoutes(headers)); } @@ -55,7 +56,7 @@ public HttpEntity queryAll(@RequestHeader HttpHeaders headers) { public HttpEntity queryByStartAndTerminal(@PathVariable String startId, @PathVariable String terminalId, @RequestHeader HttpHeaders headers) { - RouteController.LOGGER.info("startId : {}, terminalId: {}", startId, terminalId); + RouteController.LOGGER.info("Query routes, startId : {}, terminalId: {}", startId, terminalId); return ok(routeService.getRouteByStartAndTerminal(startId, terminalId, headers)); } diff --git a/ts-route-service/src/main/java/route/service/RouteServiceImpl.java b/ts-route-service/src/main/java/route/service/RouteServiceImpl.java index 3416fd970..936874d81 100644 --- a/ts-route-service/src/main/java/route/service/RouteServiceImpl.java +++ b/ts-route-service/src/main/java/route/service/RouteServiceImpl.java @@ -35,8 +35,7 @@ public Response createAndModify(RouteInfo info, HttpHeaders headers) { List stationList = new ArrayList<>(); List distanceList = new ArrayList<>(); if (stations.length != distances.length) { - RouteServiceImpl.LOGGER.info("Station Number Not Equal To Distance Number"); - + RouteServiceImpl.LOGGER.error("Create and modify error.Station number not equal to distance number,RouteId: {}",info.getId()); return new Response<>(0, "Station Number Not Equal To Distance Number", null); } for (int i = 0; i < stations.length; i++) { @@ -79,6 +78,7 @@ public Response deleteRoute(String routeId, HttpHeaders headers) { if (route == null) { return new Response<>(1, "Delete Success", routeId); } else { + RouteServiceImpl.LOGGER.error("Delete error.Route not found,RouteId: {}",routeId); return new Response<>(0, "Delete failed, Reason unKnown with this routeId", routeId); } } @@ -87,6 +87,7 @@ public Response deleteRoute(String routeId, HttpHeaders headers) { public Response getRouteById(String routeId, HttpHeaders headers) { Route route = routeRepository.findById(routeId); if (route == null) { + RouteServiceImpl.LOGGER.error("Find route error.Route not found,RouteId: {}",routeId); return new Response<>(0, "No content with the routeId", null); } else { return new Response<>(1, success, route); @@ -97,7 +98,7 @@ public Response getRouteById(String routeId, HttpHeaders headers) { @Override public Response getRouteByStartAndTerminal(String startId, String terminalId, HttpHeaders headers) { ArrayList routes = routeRepository.findAll(); - RouteServiceImpl.LOGGER.info("[Route Service] Find All: {}", routes.size()); + RouteServiceImpl.LOGGER.info("Find All: {}", routes.size()); List resultList = new ArrayList<>(); for (Route route : routes) { if (route.getStations().contains(startId) && @@ -109,6 +110,7 @@ public Response getRouteByStartAndTerminal(String startId, String terminalId, Ht if (!resultList.isEmpty()) { return new Response<>(1, success, resultList); } else { + RouteServiceImpl.LOGGER.warn("Find by start and terminal warn.Routes not found,startId: {},terminalId: {}",startId,terminalId); return new Response<>(0, "No routes with the startId and terminalId", null); } } @@ -119,6 +121,7 @@ public Response getAllRoutes(HttpHeaders headers) { if (routes != null && !routes.isEmpty()) { return new Response<>(1, success, routes); } else { + RouteServiceImpl.LOGGER.warn("Find all routes warn: {}","No Content"); return new Response<>(0, "No Content", null); } } diff --git a/ts-seat-service/Dockerfile b/ts-seat-service/Dockerfile index 185784cd3..92128650a 100644 --- a/ts-seat-service/Dockerfile +++ b/ts-seat-service/Dockerfile @@ -3,6 +3,6 @@ FROM java:8-jre RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone ADD ./target/ts-seat-service-1.0.jar /app/ -CMD ["java", "-Xmx200m", "-jar", "/app/ts-seat-service-1.0.jar"] +CMD ["java", "-Xmx200m", "-jar", "/app/ts-seat-service-1.0.jar"] EXPOSE 18898 \ No newline at end of file diff --git a/ts-seat-service/pom.xml b/ts-seat-service/pom.xml index 154075dcb..a1db88cb5 100644 --- a/ts-seat-service/pom.xml +++ b/ts-seat-service/pom.xml @@ -31,6 +31,8 @@ ts-common 0.1.0 + + diff --git a/ts-seat-service/src/main/java/seat/controller/SeatController.java b/ts-seat-service/src/main/java/seat/controller/SeatController.java index 0bb4fd8aa..5ba08c703 100644 --- a/ts-seat-service/src/main/java/seat/controller/SeatController.java +++ b/ts-seat-service/src/main/java/seat/controller/SeatController.java @@ -1,5 +1,7 @@ package seat.controller; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; @@ -19,6 +21,8 @@ public class SeatController { @Autowired private SeatService seatService; + private static final Logger LOGGER = LoggerFactory.getLogger(SeatController.class); + @GetMapping(path = "/welcome") public String home() { return "Welcome to [ Seat Service ] !"; @@ -34,6 +38,7 @@ public String home() { @CrossOrigin(origins = "*") @PostMapping(value = "/seats") public HttpEntity create(@RequestBody Seat seatRequest, @RequestHeader HttpHeaders headers) { + SeatController.LOGGER.info("Create seat,TravelDate: {},TrainNumber: {},SeatType: {}",seatRequest.getTravelDate(),seatRequest.getTrainNumber(),seatRequest.getSeatType()); return ok(seatService.distributeSeat(seatRequest, headers)); } @@ -49,6 +54,7 @@ public HttpEntity create(@RequestBody Seat seatRequest, @RequestHeader HttpHeade @PostMapping(value = "/seats/left_tickets") public HttpEntity getLeftTicketOfInterval(@RequestBody Seat seatRequest, @RequestHeader HttpHeaders headers) { // int + SeatController.LOGGER.info("Get left ticket of interval,TravelDate: {},TrainNumber: {},SeatType: {}",seatRequest.getTravelDate(),seatRequest.getTrainNumber(),seatRequest.getSeatType()); return ok(seatService.getLeftTicketOfInterval(seatRequest, headers)); } diff --git a/ts-seat-service/src/main/java/seat/service/SeatServiceImpl.java b/ts-seat-service/src/main/java/seat/service/SeatServiceImpl.java index 61ad70b43..ebf0d9306 100644 --- a/ts-seat-service/src/main/java/seat/service/SeatServiceImpl.java +++ b/ts-seat-service/src/main/java/seat/service/SeatServiceImpl.java @@ -41,10 +41,10 @@ public Response distributeSeat(Seat seatRequest, HttpHeaders headers) { String trainNumber = seatRequest.getTrainNumber(); if (trainNumber.startsWith("G") || trainNumber.startsWith("D")) { - SeatServiceImpl.LOGGER.info("[SeatService distributeSeat] TrainNumber start with G|D"); + SeatServiceImpl.LOGGER.info("TrainNumber start with G|D"); //Call the microservice to query all the station information for the train - HttpEntity requestEntity = new HttpEntity(headers); + HttpEntity requestEntity = new HttpEntity(null); re = restTemplate.exchange( "http://ts-travel-service:12346/api/v1/travelservice/routes/" + trainNumber, HttpMethod.GET, @@ -52,10 +52,10 @@ public Response distributeSeat(Seat seatRequest, HttpHeaders headers) { new ParameterizedTypeReference>() { }); routeResult = re.getBody(); - SeatServiceImpl.LOGGER.info("[SeatService distributeSeat] The result of getRouteResult is {}", routeResult.getMsg()); + SeatServiceImpl.LOGGER.info("[distributeSeat] The result of getRouteResult is {}", routeResult.getMsg()); //Call the microservice to query for residual Ticket information: the set of the Ticket sold for the specified seat type - requestEntity = new HttpEntity(seatRequest, headers); + requestEntity = new HttpEntity(seatRequest, null); re3 = restTemplate.exchange( "http://ts-order-service:12031/api/v1/orderservice/order/tickets", HttpMethod.POST, @@ -66,7 +66,7 @@ public Response distributeSeat(Seat seatRequest, HttpHeaders headers) { leftTicketInfo = re3.getBody().getData(); //Calls the microservice to query the total number of seats specified for that vehicle - requestEntity = new HttpEntity(headers); + requestEntity = new HttpEntity(null); re2 = restTemplate.exchange( "http://ts-travel-service:12346/api/v1/travelservice/train_types/" + seatRequest.getTrainNumber(), HttpMethod.GET, @@ -76,11 +76,11 @@ public Response distributeSeat(Seat seatRequest, HttpHeaders headers) { Response trainTypeResponse = re2.getBody(); trainTypeResult = trainTypeResponse.getData(); - SeatServiceImpl.LOGGER.info("[SeatService distributeSeat 1] The result of getTrainTypeResult is {}", trainTypeResponse.toString()); + SeatServiceImpl.LOGGER.info("[distributeSeat 1] The result of getTrainTypeResult is {}", trainTypeResponse.toString()); } else { - SeatServiceImpl.LOGGER.info("[SeatService] TrainNumber start with other capital"); + SeatServiceImpl.LOGGER.info("TrainNumber start with other capital"); //Call the micro service to query all the station information for the trains - HttpEntity requestEntity = new HttpEntity(headers); + HttpEntity requestEntity = new HttpEntity(null); re = restTemplate.exchange( "http://ts-travel2-service:16346/api/v1/travel2service/routes/" + seatRequest.getTrainNumber(), HttpMethod.GET, @@ -88,10 +88,10 @@ public Response distributeSeat(Seat seatRequest, HttpHeaders headers) { new ParameterizedTypeReference>() { }); routeResult = re.getBody(); - SeatServiceImpl.LOGGER.info("[SeatService distributeSeat] The result of getRouteResult is {}", routeResult.toString()); + SeatServiceImpl.LOGGER.info("[distributeSeat] The result of getRouteResult is {}", routeResult.toString()); //Call the microservice to query for residual Ticket information: the set of the Ticket sold for the specified seat type - requestEntity = new HttpEntity(seatRequest, headers); + requestEntity = new HttpEntity(seatRequest, null); re3 = restTemplate.exchange( "http://ts-order-other-service:12032/api/v1/orderOtherService/orderOther/tickets", HttpMethod.POST, @@ -102,7 +102,7 @@ public Response distributeSeat(Seat seatRequest, HttpHeaders headers) { leftTicketInfo = re3.getBody().getData(); //Calls the microservice to query the total number of seats specified for that vehicle - requestEntity = new HttpEntity(headers); + requestEntity = new HttpEntity(null); re2 = restTemplate.exchange( "http://ts-travel2-service:16346/api/v1/travel2service/train_types/" + seatRequest.getTrainNumber(), HttpMethod.GET, @@ -111,7 +111,7 @@ public Response distributeSeat(Seat seatRequest, HttpHeaders headers) { }); Response trainTypeResponse = re2.getBody(); trainTypeResult = trainTypeResponse.getData(); - SeatServiceImpl.LOGGER.info("[SeatService distributeSeat 2] The result of getTrainTypeResult is {}", trainTypeResponse.toString()); + SeatServiceImpl.LOGGER.info("[distributeSeat 2] The result of getTrainTypeResult is {}", trainTypeResponse.toString()); } @@ -120,10 +120,10 @@ public Response distributeSeat(Seat seatRequest, HttpHeaders headers) { int seatTotalNum = 0; if (seatRequest.getSeatType() == SeatClass.FIRSTCLASS.getCode()) { seatTotalNum = trainTypeResult.getConfortClass(); - SeatServiceImpl.LOGGER.info("[SeatService distributeSeat] The request seat type is confortClass and the total num is {}", seatTotalNum); + SeatServiceImpl.LOGGER.info("[distributeSeat] The request seat type is comfortClass and the total num is {}", seatTotalNum); } else { seatTotalNum = trainTypeResult.getEconomyClass(); - SeatServiceImpl.LOGGER.info("[SeatService distributeSeat] The request seat type is economyClass and the total num is {}", seatTotalNum); + SeatServiceImpl.LOGGER.info("[distributeSeat] The request seat type is economyClass and the total num is {}", seatTotalNum); } String startStation = seatRequest.getStartStation(); Ticket ticket = new Ticket(); @@ -143,7 +143,7 @@ public Response distributeSeat(Seat seatRequest, HttpHeaders headers) { //Tickets can be allocated if the sold ticket's end station before the start station of the request if (stationList.indexOf(soldTicketDestStation) < stationList.indexOf(startStation)) { ticket.setSeatNo(soldTicket.getSeatNo()); - SeatServiceImpl.LOGGER.info("[SeatService distributeSeat] Use the previous distributed seat number! {}", soldTicket.getSeatNo()); + SeatServiceImpl.LOGGER.info("[distributeSeat] Use the previous distributed seat number! {}", soldTicket.getSeatNo()); return new Response<>(1, "Use the previous distributed seat number!", ticket); } } @@ -152,7 +152,7 @@ public Response distributeSeat(Seat seatRequest, HttpHeaders headers) { } } ticket.setSeatNo(seat); - SeatServiceImpl.LOGGER.info("[SeatService distributeSeat] Use a new seat number! {}", seat); + SeatServiceImpl.LOGGER.info("[distributeSeat] Use a new seat number! {}", seat); return new Response<>(1, "Use a new seat number!", ticket); } @@ -182,10 +182,10 @@ public Response getLeftTicketOfInterval(Seat seatRequest, HttpHeaders headers) { String trainNumber = seatRequest.getTrainNumber(); SeatServiceImpl.LOGGER.info("Seat request To String: {}", seatRequest.toString()); if (trainNumber.startsWith("G") || trainNumber.startsWith("D")) { - SeatServiceImpl.LOGGER.info("[SeatService getLeftTicketOfInterval] TrainNumber start with G|D {}", trainNumber); + SeatServiceImpl.LOGGER.info("[getLeftTicketOfInterval] TrainNumber start with G|D {}", trainNumber); //Call the micro service to query all the station information for the trains - HttpEntity requestEntity = new HttpEntity(headers); + HttpEntity requestEntity = new HttpEntity(null); re = restTemplate.exchange( "http://ts-travel-service:12346/api/v1/travelservice/routes/" + trainNumber, HttpMethod.GET, @@ -193,10 +193,10 @@ public Response getLeftTicketOfInterval(Seat seatRequest, HttpHeaders headers) { new ParameterizedTypeReference>() { }); routeResult = re.getBody(); - SeatServiceImpl.LOGGER.info("[SeatService getLeftTicketOfInterval] The result of getRouteResult is {}", routeResult.getMsg()); + SeatServiceImpl.LOGGER.info("[ getLeftTicketOfInterval] The result of getRouteResult is {}", routeResult.getMsg()); //Call the micro service to query for residual Ticket information: the set of the Ticket sold for the specified seat type - requestEntity = new HttpEntity(seatRequest, headers); + requestEntity = new HttpEntity(seatRequest, null); re3 = restTemplate.exchange( "http://ts-order-service:12031/api/v1/orderservice/order/tickets", HttpMethod.POST, @@ -208,7 +208,7 @@ public Response getLeftTicketOfInterval(Seat seatRequest, HttpHeaders headers) { leftTicketInfo = re3.getBody().getData(); //Calls the microservice to query the total number of seats specified for that vehicle - requestEntity = new HttpEntity(headers); + requestEntity = new HttpEntity(null); re2 = restTemplate.exchange( "http://ts-travel-service:12346/api/v1/travelservice/train_types/" + seatRequest.getTrainNumber(), HttpMethod.GET, @@ -219,11 +219,11 @@ public Response getLeftTicketOfInterval(Seat seatRequest, HttpHeaders headers) { trainTypeResult = trainTypeResponse.getData(); - SeatServiceImpl.LOGGER.info("[SeatService getLeftTicketOfInterval] The result of getTrainTypeResult is {}", trainTypeResponse.toString()); + SeatServiceImpl.LOGGER.info("[getLeftTicketOfInterval] The result of getTrainTypeResult is {}", trainTypeResponse.toString()); } else { - SeatServiceImpl.LOGGER.info("[SeatService getLeftTicketOfInterval] TrainNumber start with other capital"); + SeatServiceImpl.LOGGER.info("[getLeftTicketOfInterval] TrainNumber start with other capital"); //Call the micro service to query all the station information for the trains - HttpEntity requestEntity = new HttpEntity(headers); + HttpEntity requestEntity = new HttpEntity(null); re = restTemplate.exchange( "http://ts-travel2-service:16346/api/v1/travel2service/routes/" + seatRequest.getTrainNumber(), HttpMethod.GET, @@ -231,10 +231,10 @@ public Response getLeftTicketOfInterval(Seat seatRequest, HttpHeaders headers) { new ParameterizedTypeReference>() { }); routeResult = re.getBody(); - SeatServiceImpl.LOGGER.info("[SeatService getLeftTicketOfInterval] The result of getRouteResult is {}", routeResult.toString()); + SeatServiceImpl.LOGGER.info("[getLeftTicketOfInterval] The result of getRouteResult is {}", routeResult.toString()); //Call the micro service to query for residual Ticket information: the set of the Ticket sold for the specified seat type - requestEntity = new HttpEntity(seatRequest, headers); + requestEntity = new HttpEntity(seatRequest, null); re3 = restTemplate.exchange( "http://ts-order-other-service:12032/api/v1/orderOtherService/orderOther/tickets", HttpMethod.POST, @@ -246,7 +246,7 @@ public Response getLeftTicketOfInterval(Seat seatRequest, HttpHeaders headers) { //Calls the microservice to query the total number of seats specified for that vehicle - requestEntity = new HttpEntity(headers); + requestEntity = new HttpEntity(null); re2 = restTemplate.exchange( "http://ts-travel2-service:16346/api/v1/travel2service/train_types/" + seatRequest.getTrainNumber(), HttpMethod.GET, @@ -255,7 +255,7 @@ public Response getLeftTicketOfInterval(Seat seatRequest, HttpHeaders headers) { }); Response trainTypeResponse = re2.getBody(); trainTypeResult = trainTypeResponse.getData(); - SeatServiceImpl.LOGGER.info("[SeatService getLeftTicketOfInterval] The result of getTrainTypeResult is {}", trainTypeResponse.toString()); + SeatServiceImpl.LOGGER.info("[getLeftTicketOfInterval] The result of getTrainTypeResult is {}", trainTypeResponse.toString()); } //Counting the seats remaining in certain sections @@ -263,10 +263,10 @@ public Response getLeftTicketOfInterval(Seat seatRequest, HttpHeaders headers) { int seatTotalNum; if (seatRequest.getSeatType() == SeatClass.FIRSTCLASS.getCode()) { seatTotalNum = trainTypeResult.getConfortClass(); - SeatServiceImpl.LOGGER.info("[SeatService getLeftTicketOfInterval] The request seat type is confortClass and the total num is {}", seatTotalNum); + SeatServiceImpl.LOGGER.info("[getLeftTicketOfInterval] The request seat type is confortClass and the total num is {}", seatTotalNum); } else { seatTotalNum = trainTypeResult.getEconomyClass(); - SeatServiceImpl.LOGGER.info("[SeatService getLeftTicketOfInterval] The request seat type is economyClass and the total num is {}", seatTotalNum); + SeatServiceImpl.LOGGER.info("[getLeftTicketOfInterval] The request seat type is economyClass and the total num is {}", seatTotalNum); } int solidTicketSize = 0; @@ -279,7 +279,7 @@ public Response getLeftTicketOfInterval(Seat seatRequest, HttpHeaders headers) { String soldTicketDestStation = soldTicket.getDestStation(); //Tickets can be allocated if the sold ticket's end station before the start station of the request if (stationList.indexOf(soldTicketDestStation) < stationList.indexOf(startStation)) { - SeatServiceImpl.LOGGER.info("[SeatService getLeftTicketOfInterval] The previous distributed seat number is usable! {}", soldTicket.getSeatNo()); + SeatServiceImpl.LOGGER.info("[getLeftTicketOfInterval] The previous distributed seat number is usable! {}", soldTicket.getSeatNo()); numOfLeftTicket++; } } @@ -304,7 +304,7 @@ public Response getLeftTicketOfInterval(Seat seatRequest, HttpHeaders headers) { private double getDirectProportion(HttpHeaders headers) { String configName = "DirectTicketAllocationProportion"; - HttpEntity requestEntity = new HttpEntity(headers); + HttpEntity requestEntity = new HttpEntity(null); ResponseEntity> re = restTemplate.exchange( "http://ts-config-service:15679/api/v1/configservice/configs/" + configName, HttpMethod.GET, diff --git a/ts-security-service/Dockerfile b/ts-security-service/Dockerfile index 9c75bac8f..cd6b723b8 100644 --- a/ts-security-service/Dockerfile +++ b/ts-security-service/Dockerfile @@ -3,6 +3,6 @@ FROM java:8-jre RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone ADD ./target/ts-security-service-1.0.jar /app/ -CMD ["java", "-Xmx200m", "-jar", "/app/ts-security-service-1.0.jar"] +CMD ["java", "-Xmx200m", "-jar", "/app/ts-security-service-1.0.jar"] EXPOSE 11188 \ No newline at end of file diff --git a/ts-security-service/pom.xml b/ts-security-service/pom.xml index f4f019f65..931362ab4 100644 --- a/ts-security-service/pom.xml +++ b/ts-security-service/pom.xml @@ -33,6 +33,8 @@ ts-common 0.1.0 + + diff --git a/ts-security-service/src/main/java/security/controller/SecurityController.java b/ts-security-service/src/main/java/security/controller/SecurityController.java index 06c363ce9..09b35df54 100644 --- a/ts-security-service/src/main/java/security/controller/SecurityController.java +++ b/ts-security-service/src/main/java/security/controller/SecurityController.java @@ -31,35 +31,35 @@ public String home(@RequestHeader HttpHeaders headers) { @CrossOrigin(origins = "*") @GetMapping(path = "/securityConfigs") public HttpEntity findAllSecurityConfig(@RequestHeader HttpHeaders headers) { - SecurityController.LOGGER.info("[Security Service][Find All]"); + SecurityController.LOGGER.info("[Find All]"); return ok(securityService.findAllSecurityConfig(headers)); } @CrossOrigin(origins = "*") @PostMapping(path = "/securityConfigs") public HttpEntity create(@RequestBody SecurityConfig info, @RequestHeader HttpHeaders headers) { - SecurityController.LOGGER.info("[Security Service][Create] Name: {}", info.getName()); + SecurityController.LOGGER.info("[Create] SecurityConfig Name: {}", info.getName()); return ok(securityService.addNewSecurityConfig(info, headers)); } @CrossOrigin(origins = "*") @PutMapping(path = "/securityConfigs") public HttpEntity update(@RequestBody SecurityConfig info, @RequestHeader HttpHeaders headers) { - SecurityController.LOGGER.info("[Security Service][Update] Name: {}", info.getName()); + SecurityController.LOGGER.info("[Update] SecurityConfig Name: {}", info.getName()); return ok(securityService.modifySecurityConfig(info, headers)); } @CrossOrigin(origins = "*") @DeleteMapping(path = "/securityConfigs/{id}") public HttpEntity delete(@PathVariable String id, @RequestHeader HttpHeaders headers) { - SecurityController.LOGGER.info("[Security Service][Delete] Id: {}", id); + SecurityController.LOGGER.info("[Delete] SecurityConfig Id: {}", id); return ok(securityService.deleteSecurityConfig(id, headers)); } @CrossOrigin(origins = "*") @GetMapping(path = "/securityConfigs/{accountId}") public HttpEntity check(@PathVariable String accountId, @RequestHeader HttpHeaders headers) { - SecurityController.LOGGER.info("[Security Service][Check Security] Check Account Id: {}", accountId); + SecurityController.LOGGER.info("[Check Security] Check Account Id: {}", accountId); return ok(securityService.check(accountId, headers)); } diff --git a/ts-security-service/src/main/java/security/service/SecurityServiceImpl.java b/ts-security-service/src/main/java/security/service/SecurityServiceImpl.java index 30660296a..40aa84b37 100644 --- a/ts-security-service/src/main/java/security/service/SecurityServiceImpl.java +++ b/ts-security-service/src/main/java/security/service/SecurityServiceImpl.java @@ -41,6 +41,7 @@ public Response findAllSecurityConfig(HttpHeaders headers) { if (securityConfigs != null && !securityConfigs.isEmpty()) { return new Response<>(1, success, securityConfigs); } + SecurityServiceImpl.LOGGER.warn("Find all security config warn: {}","No content"); return new Response<>(0, "No Content", null); } @@ -48,6 +49,7 @@ public Response findAllSecurityConfig(HttpHeaders headers) { public Response addNewSecurityConfig(SecurityConfig info, HttpHeaders headers) { SecurityConfig sc = securityRepository.findByName(info.getName()); if (sc != null) { + SecurityServiceImpl.LOGGER.warn("Add new Security config warn.Security config already exist, SecurityConfigId: {},Name: {}",sc.getId(),info.getName()); return new Response<>(0, "Security Config Already Exist", null); } else { SecurityConfig config = new SecurityConfig(); @@ -64,6 +66,7 @@ public Response addNewSecurityConfig(SecurityConfig info, HttpHeaders headers) { public Response modifySecurityConfig(SecurityConfig info, HttpHeaders headers) { SecurityConfig sc = securityRepository.findById(info.getId()); if (sc == null) { + SecurityServiceImpl.LOGGER.error("Modify Security config error.Security config not found, SecurityConfigId: {},Name: {}",info.getId(),info.getName()); return new Response<>(0, "Security Config Not Exist", null); } else { sc.setName(info.getName()); @@ -81,6 +84,7 @@ public Response deleteSecurityConfig(String id, HttpHeaders headers) { if (sc == null) { return new Response<>(1, success, id); } else { + SecurityServiceImpl.LOGGER.error("Delete Security config error.Reason not clear, SecurityConfigId: {}",id); return new Response<>(0, "Reason Not clear", id); } } @@ -88,19 +92,20 @@ public Response deleteSecurityConfig(String id, HttpHeaders headers) { @Override public Response check(String accountId, HttpHeaders headers) { //1.Get the orders in the past one hour and the total effective votes - SecurityServiceImpl.LOGGER.info("[Security Service][Get Order Num Info]"); + SecurityServiceImpl.LOGGER.info("[Get Order Num Info]"); OrderSecurity orderResult = getSecurityOrderInfoFromOrder(new Date(), accountId, headers); OrderSecurity orderOtherResult = getSecurityOrderOtherInfoFromOrder(new Date(), accountId, headers); int orderInOneHour = orderOtherResult.getOrderNumInLastOneHour() + orderResult.getOrderNumInLastOneHour(); int totalValidOrder = orderOtherResult.getOrderNumOfValidOrder() + orderResult.getOrderNumOfValidOrder(); //2. get critical configuration information - SecurityServiceImpl.LOGGER.info("[Security Service][Get Security Config Info]"); + SecurityServiceImpl.LOGGER.info("[Get Security Config Info]"); SecurityConfig configMaxInHour = securityRepository.findByName("max_order_1_hour"); SecurityConfig configMaxNotUse = securityRepository.findByName("max_order_not_use"); - SecurityServiceImpl.LOGGER.info("[Security Service] Max In One Hour: {} Max Not Use: {}", configMaxInHour.getValue(), configMaxNotUse.getValue()); + SecurityServiceImpl.LOGGER.info("Max In One Hour: {} Max Not Use: {}", configMaxInHour.getValue(), configMaxNotUse.getValue()); int oneHourLine = Integer.parseInt(configMaxInHour.getValue()); int totalValidLine = Integer.parseInt(configMaxNotUse.getValue()); if (orderInOneHour > oneHourLine || totalValidOrder > totalValidLine) { + SecurityServiceImpl.LOGGER.warn("Check Security config warn.Too much order in last one hour or too much valid order, AccountId: {}",accountId); return new Response<>(0, "Too much order in last one hour or too much valid order", accountId); } else { return new Response<>(1, "Success.r", accountId); @@ -108,8 +113,8 @@ public Response check(String accountId, HttpHeaders headers) { } private OrderSecurity getSecurityOrderInfoFromOrder(Date checkDate, String accountId, HttpHeaders headers) { - SecurityServiceImpl.LOGGER.info("[Security Service][Get Order Info For Security] Getting...."); - HttpEntity requestEntity = new HttpEntity(headers); + SecurityServiceImpl.LOGGER.info("[Get Order Info For Security] Getting...."); + HttpEntity requestEntity = new HttpEntity(null); ResponseEntity> re = restTemplate.exchange( "http://ts-order-service:12031/api/v1/orderservice/order/security/" + checkDate + "/" + accountId, HttpMethod.GET, @@ -118,13 +123,13 @@ private OrderSecurity getSecurityOrderInfoFromOrder(Date checkDate, String accou }); Response response = re.getBody(); OrderSecurity result = response.getData(); - SecurityServiceImpl.LOGGER.info("[Security Service][Get Order Info For Security] Last One Hour: {} Total Valid Order: {}", result.getOrderNumInLastOneHour(), result.getOrderNumOfValidOrder()); + SecurityServiceImpl.LOGGER.info("[Get Order Info For Security] Last One Hour: {} Total Valid Order: {}", result.getOrderNumInLastOneHour(), result.getOrderNumOfValidOrder()); return result; } private OrderSecurity getSecurityOrderOtherInfoFromOrder(Date checkDate, String accountId, HttpHeaders headers) { - SecurityServiceImpl.LOGGER.info("[Security Service][Get Order Other Info For Security] Getting...."); - HttpEntity requestEntity = new HttpEntity(headers); + SecurityServiceImpl.LOGGER.info("[Get Order Other Info For Security] Getting...."); + HttpEntity requestEntity = new HttpEntity(null); ResponseEntity> re = restTemplate.exchange( "http://ts-order-other-service:12032/api/v1/orderOtherService/orderOther/security/" + checkDate + "/" + accountId, HttpMethod.GET, @@ -133,7 +138,7 @@ private OrderSecurity getSecurityOrderOtherInfoFromOrder(Date checkDate, String }); Response response = re.getBody(); OrderSecurity result = response.getData(); - SecurityServiceImpl.LOGGER.info("[Security Service][Get Order Other Info For Security] Last One Hour: {} Total Valid Order: {}", result.getOrderNumInLastOneHour(), result.getOrderNumOfValidOrder()); + SecurityServiceImpl.LOGGER.info("[Get Order Other Info For Security] Last One Hour: {} Total Valid Order: {}", result.getOrderNumInLastOneHour(), result.getOrderNumOfValidOrder()); return result; } diff --git a/ts-station-service/Dockerfile b/ts-station-service/Dockerfile index d2493fa5e..9b9597390 100644 --- a/ts-station-service/Dockerfile +++ b/ts-station-service/Dockerfile @@ -3,6 +3,6 @@ FROM java:8-jre RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone ADD ./target/ts-station-service-1.0.jar /app/ -CMD ["java", "-Xmx200m", "-jar", "/app/ts-station-service-1.0.jar"] +CMD ["java", "-Xmx200m", "-jar", "/app/ts-station-service-1.0.jar"] EXPOSE 12345 \ No newline at end of file diff --git a/ts-station-service/pom.xml b/ts-station-service/pom.xml index a803c80dc..909a7410b 100644 --- a/ts-station-service/pom.xml +++ b/ts-station-service/pom.xml @@ -34,6 +34,8 @@ ts-common 0.1.0 + + diff --git a/ts-station-service/src/main/java/fdse/microservice/controller/StationController.java b/ts-station-service/src/main/java/fdse/microservice/controller/StationController.java index fc6ae176a..60664c393 100644 --- a/ts-station-service/src/main/java/fdse/microservice/controller/StationController.java +++ b/ts-station-service/src/main/java/fdse/microservice/controller/StationController.java @@ -37,16 +37,19 @@ public HttpEntity query(@RequestHeader HttpHeaders headers) { @PostMapping(value = "/stations") public ResponseEntity create(@RequestBody Station station, @RequestHeader HttpHeaders headers) { + StationController.LOGGER.info("Create station,name: {}",station.getName()); return new ResponseEntity<>(stationService.create(station, headers), HttpStatus.CREATED); } @PutMapping(value = "/stations") public HttpEntity update(@RequestBody Station station, @RequestHeader HttpHeaders headers) { + StationController.LOGGER.info("Update station,StationId: {}",station.getId()); return ok(stationService.update(station, headers)); } @DeleteMapping(value = "/stations") public ResponseEntity delete(@RequestBody Station station, @RequestHeader HttpHeaders headers) { + StationController.LOGGER.info("Delete station,StationId: {}",station.getId()); return ok(stationService.delete(station, headers)); } @@ -57,6 +60,7 @@ public ResponseEntity delete(@RequestBody Station station, @RequestHea public HttpEntity queryForStationId(@PathVariable(value = "stationNameForId") String stationName, @RequestHeader HttpHeaders headers) { // string + StationController.LOGGER.info("Query for station id,StationName: {}",stationName); return ok(stationService.queryForId(stationName, headers)); } @@ -64,6 +68,7 @@ public HttpEntity queryForStationId(@PathVariable(value = "stationNameForId") @CrossOrigin(origins = "*") @PostMapping(value = "/stations/idlist") public HttpEntity queryForIdBatch(@RequestBody List stationNameList, @RequestHeader HttpHeaders headers) { + StationController.LOGGER.info("Query stations for id batch,StationNameNumbers: {}",stationNameList.size()); return ok(stationService.queryForIdBatch(stationNameList, headers)); } @@ -72,7 +77,7 @@ public HttpEntity queryForIdBatch(@RequestBody List stationNameList, @Re @GetMapping(value = "/stations/name/{stationIdForName}") public HttpEntity queryById(@PathVariable(value = "stationIdForName") String stationId, @RequestHeader HttpHeaders headers) { - StationController.LOGGER.info("[Station Service] Query By Id: {}", stationId); + StationController.LOGGER.info("Query stations By Id: {}", stationId); // string return ok(stationService.queryById(stationId, headers)); } @@ -81,6 +86,7 @@ public HttpEntity queryById(@PathVariable(value = "stationIdForName") @CrossOrigin(origins = "*") @PostMapping(value = "/stations/namelist") public HttpEntity queryForNameBatch(@RequestBody List stationIdList, @RequestHeader HttpHeaders headers) { + StationController.LOGGER.info("Query stations for name batch,StationIdNumbers: {}",stationIdList.size()); return ok(stationService.queryByIdBatch(stationIdList, headers)); } diff --git a/ts-station-service/src/main/java/fdse/microservice/service/StationServiceImpl.java b/ts-station-service/src/main/java/fdse/microservice/service/StationServiceImpl.java index ec9c3f274..0f01d1e14 100644 --- a/ts-station-service/src/main/java/fdse/microservice/service/StationServiceImpl.java +++ b/ts-station-service/src/main/java/fdse/microservice/service/StationServiceImpl.java @@ -3,6 +3,8 @@ import edu.fudan.common.util.Response; import fdse.microservice.entity.*; import fdse.microservice.repository.StationRepository; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; import org.springframework.stereotype.Service; @@ -19,6 +21,8 @@ public class StationServiceImpl implements StationService { String success = "Success"; + private static final Logger LOGGER = LoggerFactory.getLogger(StationServiceImpl.class); + @Override public Response create(Station station, HttpHeaders headers) { if (repository.findById(station.getId()) == null) { @@ -26,6 +30,7 @@ public Response create(Station station, HttpHeaders headers) { repository.save(station); return new Response<>(1, "Create success", station); } + StationServiceImpl.LOGGER.error("Create station error.Already exists, StationId: {}",station.getId()); return new Response<>(0, "Already exists", station); } @@ -43,6 +48,7 @@ public boolean exist(String stationName, HttpHeaders headers) { public Response update(Station info, HttpHeaders headers) { if (repository.findById(info.getId()) == null) { + StationServiceImpl.LOGGER.error("Update station error.Station not found, StationId: {}",info.getId()); return new Response<>(0, "Station not exist", null); } else { Station station = new Station(info.getId(), info.getName()); @@ -60,6 +66,7 @@ public Response delete(Station info, HttpHeaders headers) { repository.delete(station); return new Response<>(1, "Delete success", station); } + StationServiceImpl.LOGGER.error("Delete station error.Station not found, StationId: {}",info.getId()); return new Response<>(0, "Station not exist", null); } @@ -69,6 +76,7 @@ public Response query(HttpHeaders headers) { if (stations != null && !stations.isEmpty()) { return new Response<>(1, "Find all content", stations); } else { + StationServiceImpl.LOGGER.warn("Query stations warn.Find all stations: {}","No content"); return new Response<>(0, "No content", null); } } @@ -80,6 +88,7 @@ public Response queryForId(String stationName, HttpHeaders headers) { if (station != null) { return new Response<>(1, success, station.getId()); } else { + StationServiceImpl.LOGGER.warn("Find station id warn.Station not found, StationName: {}",stationName); return new Response<>(0, "Not exists", stationName); } } @@ -100,6 +109,7 @@ public Response queryForIdBatch(List nameList, HttpHeaders headers) { if (!result.isEmpty()) { return new Response<>(1, success, result); } else { + StationServiceImpl.LOGGER.warn("Find station ids warn.Stations not found, StationNameNumber: {}",nameList.size()); return new Response<>(0, "No content according to name list", null); } @@ -111,6 +121,7 @@ public Response queryById(String stationId, HttpHeaders headers) { if (station != null) { return new Response<>(1, success, station.getName()); } else { + StationServiceImpl.LOGGER.error("Find station name error.Station not found, StationId: {}",stationId); return new Response<>(0, "No that stationId", stationId); } } @@ -128,6 +139,7 @@ public Response queryByIdBatch(List idList, HttpHeaders headers) { if (!result.isEmpty()) { return new Response<>(1, success, result); } else { + StationServiceImpl.LOGGER.error("Find station names error.Stations not found, StationIdNumber: {}",idList.size()); return new Response<>(0, "No stationNamelist according to stationIdList", result); } diff --git a/ts-ticketinfo-service/Dockerfile b/ts-ticketinfo-service/Dockerfile index 67e04499b..01d178c1d 100644 --- a/ts-ticketinfo-service/Dockerfile +++ b/ts-ticketinfo-service/Dockerfile @@ -3,6 +3,6 @@ FROM java:8-jre RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone ADD ./target/ts-ticketinfo-service-1.0.jar /app/ -CMD ["java", "-Xmx200m", "-jar", "/app/ts-ticketinfo-service-1.0.jar"] +CMD ["java", "-Xmx200m", "-jar", "/app/ts-ticketinfo-service-1.0.jar"] EXPOSE 15681 \ No newline at end of file diff --git a/ts-ticketinfo-service/pom.xml b/ts-ticketinfo-service/pom.xml index db5cd7f88..1357bb9f2 100644 --- a/ts-ticketinfo-service/pom.xml +++ b/ts-ticketinfo-service/pom.xml @@ -31,6 +31,8 @@ ts-common 0.1.0 + + diff --git a/ts-ticketinfo-service/src/main/java/ticketinfo/controller/TicketInfoController.java b/ts-ticketinfo-service/src/main/java/ticketinfo/controller/TicketInfoController.java index 5753c72ab..762c02a30 100644 --- a/ts-ticketinfo-service/src/main/java/ticketinfo/controller/TicketInfoController.java +++ b/ts-ticketinfo-service/src/main/java/ticketinfo/controller/TicketInfoController.java @@ -4,6 +4,8 @@ * Created by Chenjie Xu on 2017/6/6. */ +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; @@ -20,6 +22,8 @@ public class TicketInfoController { @Autowired TicketInfoService service; + private static final Logger LOGGER = LoggerFactory.getLogger(TicketInfoController.class); + @GetMapping(path = "/welcome") public String home() { return "Welcome to [ TicketInfo Service ] !"; @@ -28,12 +32,14 @@ public String home() { @PostMapping(value = "/ticketinfo") public HttpEntity queryForTravel(@RequestBody Travel info, @RequestHeader HttpHeaders headers) { // TravelResult + TicketInfoController.LOGGER.info("Query ticket info for travel,Start: {},End: {}",info.getStartingPlace(),info.getEndPlace()); return ok(service.queryForTravel(info, headers)); } @GetMapping(value = "/ticketinfo/{name}") public HttpEntity queryForStationId(@PathVariable String name, @RequestHeader HttpHeaders headers) { // String id + TicketInfoController.LOGGER.info("Query ticket info for station id,Name: {}",name); return ok(service.queryForStationId(name, headers)); } diff --git a/ts-ticketinfo-service/src/main/java/ticketinfo/service/TicketInfoServiceImpl.java b/ts-ticketinfo-service/src/main/java/ticketinfo/service/TicketInfoServiceImpl.java index 20991a687..b5ef2c3bc 100644 --- a/ts-ticketinfo-service/src/main/java/ticketinfo/service/TicketInfoServiceImpl.java +++ b/ts-ticketinfo-service/src/main/java/ticketinfo/service/TicketInfoServiceImpl.java @@ -21,7 +21,7 @@ public class TicketInfoServiceImpl implements TicketInfoService { @Override public Response queryForTravel(Travel info, HttpHeaders headers) { - HttpEntity requestEntity = new HttpEntity(info, headers); + HttpEntity requestEntity = new HttpEntity(info, null); ResponseEntity re = restTemplate.exchange( "http://ts-basic-service:15680/api/v1/basicservice/basic/travel", HttpMethod.POST, @@ -32,7 +32,7 @@ public Response queryForTravel(Travel info, HttpHeaders headers) { @Override public Response queryForStationId(String name, HttpHeaders headers) { - HttpEntity requestEntity = new HttpEntity(headers); + HttpEntity requestEntity = new HttpEntity(null); ResponseEntity re = restTemplate.exchange( "http://ts-basic-service:15680/api/v1/basicservice/basic/" + name, HttpMethod.GET, diff --git a/ts-train-service/Dockerfile b/ts-train-service/Dockerfile index d0cb9720b..6ac50c626 100644 --- a/ts-train-service/Dockerfile +++ b/ts-train-service/Dockerfile @@ -3,6 +3,6 @@ FROM java:8-jre RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone ADD ./target/ts-train-service-1.0.jar /app/ -CMD ["java", "-Xmx200m", "-jar", "/app/ts-train-service-1.0.jar"] +CMD ["java", "-Xmx200m", "-jar", "/app/ts-train-service-1.0.jar"] EXPOSE 14567 \ No newline at end of file diff --git a/ts-train-service/pom.xml b/ts-train-service/pom.xml index 694e33acd..d4e2ff2dc 100644 --- a/ts-train-service/pom.xml +++ b/ts-train-service/pom.xml @@ -33,6 +33,8 @@ ts-common 0.1.0 + + diff --git a/ts-train-service/src/main/java/train/controller/TrainController.java b/ts-train-service/src/main/java/train/controller/TrainController.java index edd0d2c2b..20bdaf641 100644 --- a/ts-train-service/src/main/java/train/controller/TrainController.java +++ b/ts-train-service/src/main/java/train/controller/TrainController.java @@ -1,6 +1,8 @@ package train.controller; import edu.fudan.common.util.Response; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; @@ -21,6 +23,8 @@ public class TrainController { @Autowired private TrainService trainService; + private static final Logger LOGGER = LoggerFactory.getLogger(TrainController.class); + @GetMapping(path = "/trains/welcome") public String home(@RequestHeader HttpHeaders headers) { return "Welcome to [ Train Service ] !"; @@ -29,6 +33,7 @@ public String home(@RequestHeader HttpHeaders headers) { @CrossOrigin(origins = "*") @PostMapping(value = "/trains") public HttpEntity create(@RequestBody TrainType trainType, @RequestHeader HttpHeaders headers) { + TrainController.LOGGER.info("Create train,TrainTypeId: {}",trainType.getId()); boolean isCreateSuccess = trainService.create(trainType, headers); if (isCreateSuccess) { return ok(new Response(1, "create success", null)); @@ -40,6 +45,7 @@ public HttpEntity create(@RequestBody TrainType trainType, @RequestHeader HttpHe @CrossOrigin(origins = "*") @GetMapping(value = "/trains/{id}") public HttpEntity retrieve(@PathVariable String id, @RequestHeader HttpHeaders headers) { + TrainController.LOGGER.info("Retrieve train,TrainTypeId: {}",id); TrainType trainType = trainService.retrieve(id, headers); if (trainType == null) { return ok(new Response(0, "here is no TrainType with the trainType id: " + id, null)); @@ -51,6 +57,7 @@ public HttpEntity retrieve(@PathVariable String id, @RequestHeader HttpHeaders h @CrossOrigin(origins = "*") @PutMapping(value = "/trains") public HttpEntity update(@RequestBody TrainType trainType, @RequestHeader HttpHeaders headers) { + TrainController.LOGGER.info("Update train,TrainTypeId: {}",trainType.getId()); boolean isUpdateSuccess = trainService.update(trainType, headers); if (isUpdateSuccess) { return ok(new Response(1, "update success", isUpdateSuccess)); @@ -62,6 +69,7 @@ public HttpEntity update(@RequestBody TrainType trainType, @RequestHeader HttpHe @CrossOrigin(origins = "*") @DeleteMapping(value = "/trains/{id}") public HttpEntity delete(@PathVariable String id, @RequestHeader HttpHeaders headers) { + TrainController.LOGGER.info("Delete train,TrainTypeId: {}",id); boolean isDeleteSuccess = trainService.delete(id, headers); if (isDeleteSuccess) { return ok(new Response(1, "delete success", isDeleteSuccess)); @@ -73,6 +81,7 @@ public HttpEntity delete(@PathVariable String id, @RequestHeader HttpHeaders hea @CrossOrigin(origins = "*") @GetMapping(value = "/trains") public HttpEntity query(@RequestHeader HttpHeaders headers) { + TrainController.LOGGER.info("Query train"); List trainTypes = trainService.query(headers); if (trainTypes != null && !trainTypes.isEmpty()) { return ok(new Response(1, "success", trainTypes)); diff --git a/ts-train-service/src/main/java/train/service/TrainServiceImpl.java b/ts-train-service/src/main/java/train/service/TrainServiceImpl.java index 8366097b6..7ba774f98 100644 --- a/ts-train-service/src/main/java/train/service/TrainServiceImpl.java +++ b/ts-train-service/src/main/java/train/service/TrainServiceImpl.java @@ -1,5 +1,7 @@ package train.service; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; import org.springframework.stereotype.Service; @@ -14,6 +16,7 @@ public class TrainServiceImpl implements TrainService { @Autowired private TrainTypeRepository repository; + private static final Logger LOGGER = LoggerFactory.getLogger(TrainServiceImpl.class); @Override public boolean create(TrainType trainType, HttpHeaders headers) { @@ -24,12 +27,16 @@ public boolean create(TrainType trainType, HttpHeaders headers) { repository.save(type); result = true; } + else { + TrainServiceImpl.LOGGER.error("Create train error.Train already exists,TrainTypeId: {}",trainType.getId()); + } return result; } @Override public TrainType retrieve(String id, HttpHeaders headers) { if (repository.findById(id) == null) { + TrainServiceImpl.LOGGER.error("Retrieve train error.Train not found,TrainTypeId: {}",id); return null; } else { return repository.findById(id); @@ -45,6 +52,9 @@ public boolean update(TrainType trainType, HttpHeaders headers) { repository.save(type); result = true; } + else { + TrainServiceImpl.LOGGER.error("Update train error.Train not found,TrainTypeId: {}",trainType.getId()); + } return result; } @@ -55,6 +65,9 @@ public boolean delete(String id, HttpHeaders headers) { repository.deleteById(id); result = true; } + else { + TrainServiceImpl.LOGGER.error("Delete train error.Train not found,TrainTypeId: {}",id); + } return result; } diff --git a/ts-travel-plan-service/Dockerfile b/ts-travel-plan-service/Dockerfile index 74130c861..414cf5ff0 100644 --- a/ts-travel-plan-service/Dockerfile +++ b/ts-travel-plan-service/Dockerfile @@ -3,6 +3,6 @@ FROM java:8-jre RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone ADD ./target/ts-travel-plan-service-1.0.jar /app/ -CMD ["java", "-Xmx200m", "-jar", "/app/ts-travel-plan-service-1.0.jar"] +CMD ["java", "-Xmx200m", "-jar", "/app/ts-travel-plan-service-1.0.jar"] EXPOSE 14322 \ No newline at end of file diff --git a/ts-travel-plan-service/pom.xml b/ts-travel-plan-service/pom.xml index 481c00601..5f33d134c 100644 --- a/ts-travel-plan-service/pom.xml +++ b/ts-travel-plan-service/pom.xml @@ -31,6 +31,8 @@ ts-common 0.1.0 + + diff --git a/ts-travel-plan-service/src/main/java/travelplan/controller/TravelPlanController.java b/ts-travel-plan-service/src/main/java/travelplan/controller/TravelPlanController.java index 62be6430e..771df81be 100644 --- a/ts-travel-plan-service/src/main/java/travelplan/controller/TravelPlanController.java +++ b/ts-travel-plan-service/src/main/java/travelplan/controller/TravelPlanController.java @@ -31,25 +31,25 @@ public String home() { @PostMapping(value="/travelPlan/transferResult" ) public HttpEntity getTransferResult(@RequestBody TransferTravelInfo info, @RequestHeader HttpHeaders headers) { - TravelPlanController.LOGGER.info("[Search Transit]"); + TravelPlanController.LOGGER.info("[Search Transit],start: {},end: {}",info.getFromStationName(),info.getToStationName()); return ok(travelPlanService.getTransferSearch(info, headers)); } @PostMapping(value="/travelPlan/cheapest") public HttpEntity getByCheapest(@RequestBody TripInfo queryInfo, @RequestHeader HttpHeaders headers) { - TravelPlanController.LOGGER.info("[Search Cheapest]"); + TravelPlanController.LOGGER.info("[Search Cheapest],start: {},end: {},time: {}",queryInfo.getStartingPlace(),queryInfo.getEndPlace(),queryInfo.getDepartureTime()); return ok(travelPlanService.getCheapest(queryInfo, headers)); } @PostMapping(value="/travelPlan/quickest") public HttpEntity getByQuickest(@RequestBody TripInfo queryInfo, @RequestHeader HttpHeaders headers) { - TravelPlanController.LOGGER.info("[Search Quickest]"); + TravelPlanController.LOGGER.info("[Search Quickest],start: {},end: {},time: {}",queryInfo.getStartingPlace(),queryInfo.getEndPlace(),queryInfo.getDepartureTime()); return ok(travelPlanService.getQuickest(queryInfo, headers)); } @PostMapping(value="/travelPlan/minStation") public HttpEntity getByMinStation(@RequestBody TripInfo queryInfo, @RequestHeader HttpHeaders headers) { - TravelPlanController.LOGGER.info("[Search Min Station]"); + TravelPlanController.LOGGER.info("[Search Min Station],start: {},end: {},time: {}",queryInfo.getStartingPlace(),queryInfo.getEndPlace(),queryInfo.getDepartureTime()); return ok(travelPlanService.getMinStation(queryInfo, headers)); } diff --git a/ts-travel-plan-service/src/main/java/travelplan/service/TravelPlanServiceImpl.java b/ts-travel-plan-service/src/main/java/travelplan/service/TravelPlanServiceImpl.java index b07395111..0a82ca711 100644 --- a/ts-travel-plan-service/src/main/java/travelplan/service/TravelPlanServiceImpl.java +++ b/ts-travel-plan-service/src/main/java/travelplan/service/TravelPlanServiceImpl.java @@ -106,6 +106,7 @@ public Response getCheapest(TripInfo info, HttpHeaders headers) { return new Response<>(1, success, lists); } else { + TravelPlanServiceImpl.LOGGER.warn("Get cheapest trip warn.Route Plan Result Units: {}","No Content"); return new Response<>(0, cannotFind, null); } } @@ -149,6 +150,7 @@ public Response getQuickest(TripInfo info, HttpHeaders headers) { } return new Response<>(1, success, lists); } else { + TravelPlanServiceImpl.LOGGER.warn("Get quickest trip warn.Route Plan Result Units: {}","No Content"); return new Response<>(0, cannotFind, null); } } @@ -192,6 +194,7 @@ public Response getMinStation(TripInfo info, HttpHeaders headers) { } return new Response<>(1, success, lists); } else { + TravelPlanServiceImpl.LOGGER.warn("Get min stations trip warn.Route Plan Result Units: {}","No Content"); return new Response<>(0, cannotFind, null); } } @@ -209,7 +212,7 @@ private int getRestTicketNumber(Date travelDate, String trainNumber, String star seatRequest.setSeatType(seatType); TravelPlanServiceImpl.LOGGER.info("Seat Request is: {}", seatRequest.toString()); - HttpEntity requestEntity = new HttpEntity(seatRequest, headers); + HttpEntity requestEntity = new HttpEntity(seatRequest, null); ResponseEntity> re = restTemplate.exchange( "http://ts-seat-service:18898/api/v1/seatservice/seats/left_tickets", HttpMethod.POST, @@ -221,7 +224,7 @@ private int getRestTicketNumber(Date travelDate, String trainNumber, String star } private ArrayList getRoutePlanResultCheapest(RoutePlanInfo info, HttpHeaders headers) { - HttpEntity requestEntity = new HttpEntity(info, headers); + HttpEntity requestEntity = new HttpEntity(info, null); ResponseEntity>> re = restTemplate.exchange( "http://ts-route-plan-service:14578/api/v1/routeplanservice/routePlan/cheapestRoute", HttpMethod.POST, @@ -232,7 +235,7 @@ private ArrayList getRoutePlanResultCheapest(RoutePlanInfo } private ArrayList getRoutePlanResultQuickest(RoutePlanInfo info, HttpHeaders headers) { - HttpEntity requestEntity = new HttpEntity(info, headers); + HttpEntity requestEntity = new HttpEntity(info, null); ResponseEntity>> re = restTemplate.exchange( "http://ts-route-plan-service:14578/api/v1/routeplanservice/routePlan/quickestRoute", HttpMethod.POST, @@ -244,7 +247,7 @@ private ArrayList getRoutePlanResultQuickest(RoutePlanInfo } private ArrayList getRoutePlanResultMinStation(RoutePlanInfo info, HttpHeaders headers) { - HttpEntity requestEntity = new HttpEntity(info, headers); + HttpEntity requestEntity = new HttpEntity(info, null); ResponseEntity>> re = restTemplate.exchange( "http://ts-route-plan-service:14578/api/v1/routeplanservice/routePlan/minStopStations", HttpMethod.POST, @@ -255,7 +258,7 @@ private ArrayList getRoutePlanResultMinStation(RoutePlanInf } private List tripsFromHighSpeed(TripInfo info, HttpHeaders headers) { - HttpEntity requestEntity = new HttpEntity(info, headers); + HttpEntity requestEntity = new HttpEntity(info, null); ResponseEntity>> re = restTemplate.exchange( "http://ts-travel-service:12346/api/v1/travelservice/trips/left", HttpMethod.POST, @@ -267,7 +270,7 @@ private List tripsFromHighSpeed(TripInfo info, HttpHeaders headers private ArrayList tripsFromNormal(TripInfo info, HttpHeaders headers) { - HttpEntity requestEntity = new HttpEntity(info, headers); + HttpEntity requestEntity = new HttpEntity(info, null); ResponseEntity>> re = restTemplate.exchange( "http://ts-travel2-service:16346/api/v1/travel2service/trips/left", HttpMethod.POST, @@ -280,7 +283,7 @@ private ArrayList tripsFromNormal(TripInfo info, HttpHeaders heade private String queryForStationId(String stationName, HttpHeaders headers) { - HttpEntity requestEntity = new HttpEntity(headers); + HttpEntity requestEntity = new HttpEntity(null); ResponseEntity> re = restTemplate.exchange( "http://ts-ticketinfo-service:15681/api/v1/ticketinfoservice/ticketinfo/" + stationName, HttpMethod.GET, @@ -292,7 +295,7 @@ private String queryForStationId(String stationName, HttpHeaders headers) { } private List transferStationIdToStationName(ArrayList stations, HttpHeaders headers) { - HttpEntity requestEntity = new HttpEntity(stations, headers); + HttpEntity requestEntity = new HttpEntity(stations, null); ResponseEntity>> re = restTemplate.exchange( "http://ts-station-service:12345/api/v1/stationservice/stations/namelist", HttpMethod.POST, diff --git a/ts-travel-service/Dockerfile b/ts-travel-service/Dockerfile index 3b8f970fc..87c3aa255 100644 --- a/ts-travel-service/Dockerfile +++ b/ts-travel-service/Dockerfile @@ -3,6 +3,6 @@ FROM java:8-jre RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone ADD ./target/ts-travel-service-1.0.jar /app/ -CMD ["java", "-Xmx200m", "-jar", "/app/ts-travel-service-1.0.jar"] +CMD ["java", "-Xmx200m", "-jar", "/app/ts-travel-service-1.0.jar"] EXPOSE 12346 \ No newline at end of file diff --git a/ts-travel-service/pom.xml b/ts-travel-service/pom.xml index 873952c3c..af956cb4b 100644 --- a/ts-travel-service/pom.xml +++ b/ts-travel-service/pom.xml @@ -34,6 +34,8 @@ ts-common 0.1.0 + + diff --git a/ts-travel-service/src/main/java/travel/controller/TravelController.java b/ts-travel-service/src/main/java/travel/controller/TravelController.java index e8462ccb3..840e14aaf 100644 --- a/ts-travel-service/src/main/java/travel/controller/TravelController.java +++ b/ts-travel-service/src/main/java/travel/controller/TravelController.java @@ -37,13 +37,14 @@ public String home(@RequestHeader HttpHeaders headers) { public HttpEntity getTrainTypeByTripId(@PathVariable String tripId, @RequestHeader HttpHeaders headers) { // TrainType + TravelController.LOGGER.info("Get train Type by Trip id,TripId: {}",tripId); return ok(travelService.getTrainTypeByTripId(tripId, headers)); } @GetMapping(value = "/routes/{tripId}") public HttpEntity getRouteByTripId(@PathVariable String tripId, @RequestHeader HttpHeaders headers) { - TravelController.LOGGER.info("[Get Route By Trip ID] TripId: {}", tripId); + TravelController.LOGGER.info("[Get Route By Trip ID], TripId: {}", tripId); //Route return ok(travelService.getRouteByTripId(tripId, headers)); } @@ -52,6 +53,7 @@ public HttpEntity getRouteByTripId(@PathVariable String tripId, public HttpEntity getTripsByRouteId(@RequestBody ArrayList routeIds, @RequestHeader HttpHeaders headers) { // ArrayList> + TravelController.LOGGER.info("Get Trips by Route ids,RouteIds: {}",routeIds.size()); return ok(travelService.getTripByRoute(routeIds, headers)); } @@ -59,6 +61,7 @@ public HttpEntity getTripsByRouteId(@RequestBody ArrayList routeIds, @PostMapping(value = "/trips") public HttpEntity createTrip(@RequestBody TravelInfo routeIds, @RequestHeader HttpHeaders headers) { // null + TravelController.LOGGER.info("Create trip,TripId: {}",routeIds.getTripId()); return new ResponseEntity<>(travelService.create(routeIds, headers), HttpStatus.CREATED); } @@ -73,6 +76,7 @@ public HttpEntity createTrip(@RequestBody TravelInfo routeIds, @RequestHeader @GetMapping(value = "/trips/{tripId}") public HttpEntity retrieve(@PathVariable String tripId, @RequestHeader HttpHeaders headers) { // Trip + TravelController.LOGGER.info("Retrieve trip,TripId: {}",tripId); return ok(travelService.retrieve(tripId, headers)); } @@ -80,6 +84,7 @@ public HttpEntity retrieve(@PathVariable String tripId, @RequestHeader HttpHeade @PutMapping(value = "/trips") public HttpEntity updateTrip(@RequestBody TravelInfo info, @RequestHeader HttpHeaders headers) { // Trip + TravelController.LOGGER.info("Update trip,TripId: {}",info.getTripId()); return ok(travelService.update(info, headers)); } @@ -87,6 +92,7 @@ public HttpEntity updateTrip(@RequestBody TravelInfo info, @RequestHeader HttpHe @DeleteMapping(value = "/trips/{tripId}") public HttpEntity deleteTrip(@PathVariable String tripId, @RequestHeader HttpHeaders headers) { // string + TravelController.LOGGER.info("Delete trip,TripId: {}",tripId); return ok(travelService.delete(tripId, headers)); } @@ -103,11 +109,11 @@ public HttpEntity queryInfo(@RequestBody TripInfo info, @RequestHeader HttpHeade if (info.getStartingPlace() == null || info.getStartingPlace().length() == 0 || info.getEndPlace() == null || info.getEndPlace().length() == 0 || info.getDepartureTime() == null) { - TravelController.LOGGER.info("[Travel Service][Travel Query] Fail.Something null."); + TravelController.LOGGER.info("[[Travel Query] Fail.Something null."); ArrayList errorList = new ArrayList<>(); return ok(errorList); } - TravelController.LOGGER.info("[Travel Service] Query TripResponse"); + TravelController.LOGGER.info(" Query TripResponse"); return ok(travelService.query(info, headers)); } @@ -123,6 +129,7 @@ public HttpEntity queryInfo(@RequestBody TripInfo info, @RequestHeader HttpHeade public HttpEntity getTripAllDetailInfo(@RequestBody TripAllDetailInfo gtdi, @RequestHeader HttpHeaders headers) { // TripAllDetailInfo // TripAllDetail tripAllDetail + TravelController.LOGGER.info("Get trip detail,TripId: {}",gtdi.getTripId()); return ok(travelService.getTripAllDetailInfo(gtdi, headers)); } @@ -130,6 +137,7 @@ public HttpEntity getTripAllDetailInfo(@RequestBody TripAllDetailInfo gtdi, @Req @GetMapping(value = "/trips") public HttpEntity queryAll(@RequestHeader HttpHeaders headers) { // List + TravelController.LOGGER.info("Query all trips"); return ok(travelService.queryAll(headers)); } @@ -137,6 +145,7 @@ public HttpEntity queryAll(@RequestHeader HttpHeaders headers) { @GetMapping(value = "/admin_trip") public HttpEntity adminQueryAll(@RequestHeader HttpHeaders headers) { // ArrayList + TravelController.LOGGER.info("Admin query all trips"); return ok(travelService.adminQueryAll(headers)); } diff --git a/ts-travel-service/src/main/java/travel/service/TravelServiceImpl.java b/ts-travel-service/src/main/java/travel/service/TravelServiceImpl.java index d433ca9d5..bda479280 100644 --- a/ts-travel-service/src/main/java/travel/service/TravelServiceImpl.java +++ b/ts-travel-service/src/main/java/travel/service/TravelServiceImpl.java @@ -44,6 +44,7 @@ public Response create(TravelInfo info, HttpHeaders headers) { repository.save(trip); return new Response<>(1, "Create trip:" + ti.toString() + ".", null); } else { + TravelServiceImpl.LOGGER.error("Create trip error.Trip already exists,TripId: {}",info.getTripId()); return new Response<>(1, "Trip " + info.getTripId().toString() + " already exists", null); } } @@ -57,10 +58,14 @@ public Response getRouteByTripId(String tripId, HttpHeaders headers) { if (trip != null) { route = getRouteByRouteId(trip.getRouteId(), headers); } + else{ + TravelServiceImpl.LOGGER.error("Get route by Trip id error.Trip not found, TripId: {}",tripId); + } } if (route != null) { return new Response<>(1, success, route); } else { + TravelServiceImpl.LOGGER.error("Get route by Trip id error.Route not found, TripId: {}",tripId); return new Response<>(0, noContent, null); } } @@ -73,9 +78,13 @@ public Response getTrainTypeByTripId(String tripId, HttpHeaders headers) { if (trip != null) { trainType = getTrainType(trip.getTrainTypeId(), headers); } + else{ + TravelServiceImpl.LOGGER.error("Get Train Type by Trip id error.Trip not found, TripId: {}",tripId); + } if (trainType != null) { return new Response<>(1, success, trainType); } else { + TravelServiceImpl.LOGGER.error("Get Train Type by Trip id error.Train Type not found, TripId: {}",tripId); return new Response<>(0, noContent, null); } } @@ -93,6 +102,7 @@ public Response getTripByRoute(ArrayList routeIds, HttpHeaders headers) if (!tripList.isEmpty()) { return new Response<>(1, success, tripList); } else { + TravelServiceImpl.LOGGER.warn("Get trips by routes warn.Trip list: {}","No content"); return new Response<>(0, noContent, null); } } @@ -105,6 +115,7 @@ public Response retrieve(String tripId, HttpHeaders headers) { if (trip != null) { return new Response<>(1, "Search Trip Success by Trip Id " + tripId, trip); } else { + TravelServiceImpl.LOGGER.error("Retrieve trip error.Trip not found,TripId: {}",tripId); return new Response<>(0, "No Content according to tripId" + tripId, null); } } @@ -119,6 +130,7 @@ public Response update(TravelInfo info, HttpHeaders headers) { repository.save(trip); return new Response<>(1, "Update trip:" + ti.toString(), trip); } else { + TravelServiceImpl.LOGGER.error("Update trip error.Trip not found,TripId: {}",info.getTripId()); return new Response<>(1, "Trip" + info.getTripId().toString() + "doesn 't exists", null); } } @@ -130,6 +142,7 @@ public Response delete(String tripId, HttpHeaders headers) { repository.deleteByTripId(ti); return new Response<>(1, "Delete trip:" + tripId + ".", tripId); } else { + TravelServiceImpl.LOGGER.error("Delete trip error.Trip not found,TripId: {}",tripId); return new Response<>(0, "Trip " + tripId + " doesn't exist.", null); } } @@ -158,6 +171,7 @@ public Response query(TripInfo info, HttpHeaders headers) { tempRoute.getStations().indexOf(startingPlaceId) < tempRoute.getStations().indexOf(endPlaceId)) { TripResponse response = getTickets(tempTrip, tempRoute, startingPlaceId, endPlaceId, startingPlaceName, endPlaceName, info.getDepartureTime(), headers); if (response == null) { + TravelServiceImpl.LOGGER.warn("Query trip error.Tickets not found,start: {},end: {},time: {}",startingPlaceName,endPlaceName,info.getDepartureTime()); return new Response<>(0, "No Trip info content", null); } list.add(response); @@ -169,11 +183,12 @@ public Response query(TripInfo info, HttpHeaders headers) { @Override public Response getTripAllDetailInfo(TripAllDetailInfo gtdi, HttpHeaders headers) { TripAllDetail gtdr = new TripAllDetail(); - TravelServiceImpl.LOGGER.info("[TravelService] [TripAllDetailInfo] TripId: {}", gtdi.getTripId()); + TravelServiceImpl.LOGGER.info("[TripAllDetailInfo] TripId: {}", gtdi.getTripId()); Trip trip = repository.findByTripId(new TripId(gtdi.getTripId())); if (trip == null) { gtdr.setTripResponse(null); gtdr.setTrip(null); + TravelServiceImpl.LOGGER.error("Get trip detail error.Trip not found,TripId: {}",gtdi.getTripId()); } else { String startingPlaceName = gtdi.getFrom(); String endPlaceName = gtdi.getTo(); @@ -185,6 +200,7 @@ public Response getTripAllDetailInfo(TripAllDetailInfo gtdi, HttpHeaders headers if (tripResponse == null) { gtdr.setTripResponse(null); gtdr.setTrip(null); + TravelServiceImpl.LOGGER.warn("Get trip detail error.Tickets not found,start: {},end: {},time: {}",startingPlaceName,endPlaceName,gtdi.getTravelDate()); } else { gtdr.setTripResponse(tripResponse); gtdr.setTrip(repository.findByTripId(new TripId(gtdi.getTripId()))); @@ -206,7 +222,7 @@ private TripResponse getTickets(Trip trip, Route route, String startingPlaceId, query.setEndPlace(endPlaceName); query.setDepartureTime(departureTime); - HttpEntity requestEntity = new HttpEntity(query, headers); + HttpEntity requestEntity = new HttpEntity(query, null); ResponseEntity re = restTemplate.exchange( "http://ts-ticketinfo-service:15681/api/v1/ticketinfoservice/ticketinfo", HttpMethod.POST, @@ -216,7 +232,7 @@ private TripResponse getTickets(Trip trip, Route route, String startingPlaceId, TravelResult resultForTravel = JsonUtils.conveterObject(re.getBody().getData(), TravelResult.class); //Ticket order _ high-speed train (number of tickets purchased) - requestEntity = new HttpEntity(headers); + requestEntity = new HttpEntity(null); ResponseEntity> re2 = restTemplate.exchange( "http://ts-order-service:12031/api/v1/orderservice/order/" + departureTime + "/" + trip.getTripId().toString(), HttpMethod.GET, @@ -258,13 +274,13 @@ private TripResponse getTickets(Trip trip, Route route, String startingPlaceId, calendarStart.setTime(trip.getStartingTime()); calendarStart.add(Calendar.MINUTE, minutesStart); response.setStartingTime(calendarStart.getTime()); - TravelServiceImpl.LOGGER.info("[Train Service] calculate time:{} time: {}", minutesStart, calendarStart.getTime()); + TravelServiceImpl.LOGGER.info("calculate time:{} time: {}", minutesStart, calendarStart.getTime()); Calendar calendarEnd = Calendar.getInstance(); calendarEnd.setTime(trip.getStartingTime()); calendarEnd.add(Calendar.MINUTE, minutesEnd); response.setEndTime(calendarEnd.getTime()); - TravelServiceImpl.LOGGER.info("[Train Service] calculate time:{} time: {}", minutesEnd, calendarEnd.getTime()); + TravelServiceImpl.LOGGER.info("calculate time:{} time: {}", minutesEnd, calendarEnd.getTime()); response.setTripId(new TripId(result.getData().getTrainNumber())); response.setTrainTypeId(trip.getTrainTypeId()); @@ -280,6 +296,7 @@ public Response queryAll(HttpHeaders headers) { if (tripList != null && !tripList.isEmpty()) { return new Response<>(1, success, tripList); } + TravelServiceImpl.LOGGER.warn("Query all trips warn: {}","No Content"); return new Response<>(0, noContent, null); } @@ -307,7 +324,7 @@ private static boolean afterToday(Date date) { } private TrainType getTrainType(String trainTypeId, HttpHeaders headers) { - HttpEntity requestEntity = new HttpEntity(headers); + HttpEntity requestEntity = new HttpEntity(null); ResponseEntity> re = restTemplate.exchange( "http://ts-train-service:14567/api/v1/trainservice/trains/" + trainTypeId, HttpMethod.GET, @@ -319,7 +336,7 @@ private TrainType getTrainType(String trainTypeId, HttpHeaders headers) { } private String queryForStationId(String stationName, HttpHeaders headers) { - HttpEntity requestEntity = new HttpEntity(headers); + HttpEntity requestEntity = new HttpEntity(null); ResponseEntity> re = restTemplate.exchange( "http://ts-ticketinfo-service:15681/api/v1/ticketinfoservice/ticketinfo/" + stationName, HttpMethod.GET, @@ -333,7 +350,7 @@ private String queryForStationId(String stationName, HttpHeaders headers) { private Route getRouteByRouteId(String routeId, HttpHeaders headers) { TravelServiceImpl.LOGGER.info("[Travel Service][Get Route By Id] Route ID:{}", routeId); - HttpEntity requestEntity = new HttpEntity(headers); + HttpEntity requestEntity = new HttpEntity(null); ResponseEntity re = restTemplate.exchange( "http://ts-route-service:11178/api/v1/routeservice/routes/" + routeId, HttpMethod.GET, @@ -364,7 +381,7 @@ private int getRestTicketNumber(Date travelDate, String trainNumber, String star TravelServiceImpl.LOGGER.info("Seat request To String: {}", seatRequest.toString()); - HttpEntity requestEntity = new HttpEntity(seatRequest, headers); + HttpEntity requestEntity = new HttpEntity(seatRequest, null); ResponseEntity> re = restTemplate.exchange( "http://ts-seat-service:18898/api/v1/seatservice/seats/left_tickets", HttpMethod.POST, @@ -390,6 +407,7 @@ public Response adminQueryAll(HttpHeaders headers) { if (!adminTrips.isEmpty()) { return new Response<>(1, success, adminTrips); } else { + TravelServiceImpl.LOGGER.warn("Admin query all trips warn: {}","No Content"); return new Response<>(0, noContent, null); } } diff --git a/ts-travel2-service/Dockerfile b/ts-travel2-service/Dockerfile index 54ba00b4e..6609a14bc 100644 --- a/ts-travel2-service/Dockerfile +++ b/ts-travel2-service/Dockerfile @@ -3,6 +3,6 @@ FROM java:8-jre RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone ADD ./target/ts-travel2-service-1.0.jar /app/ -CMD ["java", "-Xmx200m", "-jar", "/app/ts-travel2-service-1.0.jar"] +CMD ["java", "-Xmx200m", "-jar", "/app/ts-travel2-service-1.0.jar"] EXPOSE 16346 \ No newline at end of file diff --git a/ts-travel2-service/pom.xml b/ts-travel2-service/pom.xml index 8dd3ad4c9..63ae42c81 100644 --- a/ts-travel2-service/pom.xml +++ b/ts-travel2-service/pom.xml @@ -35,6 +35,8 @@ ts-common 0.1.0 + + diff --git a/ts-travel2-service/src/main/java/travel2/controller/Travel2Controller.java b/ts-travel2-service/src/main/java/travel2/controller/Travel2Controller.java index 8afdefa29..c39c2d363 100644 --- a/ts-travel2-service/src/main/java/travel2/controller/Travel2Controller.java +++ b/ts-travel2-service/src/main/java/travel2/controller/Travel2Controller.java @@ -36,6 +36,7 @@ public String home(@RequestHeader HttpHeaders headers) { public HttpEntity getTrainTypeByTripId(@PathVariable String tripId, @RequestHeader HttpHeaders headers) { // TrainType + Travel2Controller.LOGGER.info("Get train by Trip id, TripId: {}",tripId); return ok(service.getTrainTypeByTripId(tripId, headers)); } @@ -51,6 +52,7 @@ public HttpEntity getRouteByTripId(@PathVariable String tripId, public HttpEntity getTripsByRouteId(@RequestBody ArrayList routeIds, @RequestHeader HttpHeaders headers) { // ArrayList> + Travel2Controller.LOGGER.info("Get trips by Route id, RouteIdNumber: {}",routeIds.size()); return ok(service.getTripByRoute(routeIds, headers)); } @@ -58,6 +60,7 @@ public HttpEntity getTripsByRouteId(@RequestBody ArrayList routeIds, @PostMapping(value = "/trips") public HttpEntity createTrip(@RequestBody TravelInfo routeIds, @RequestHeader HttpHeaders headers) { // null + Travel2Controller.LOGGER.info("Create trip, TripId: {}", routeIds.getTripId()); return new ResponseEntity<>(service.create(routeIds, headers), HttpStatus.CREATED); } @@ -72,6 +75,7 @@ public HttpEntity createTrip(@RequestBody TravelInfo routeIds, @RequestHeader @GetMapping(value = "/trips/{tripId}") public HttpEntity retrieve(@PathVariable String tripId, @RequestHeader HttpHeaders headers) { // Trip + Travel2Controller.LOGGER.info("Retrieve trip,TripId: {}",tripId); return ok(service.retrieve(tripId, headers)); } @@ -79,6 +83,7 @@ public HttpEntity retrieve(@PathVariable String tripId, @RequestHeader HttpHeade @PutMapping(value = "/trips") public HttpEntity updateTrip(@RequestBody TravelInfo info, @RequestHeader HttpHeaders headers) { // Trip + Travel2Controller.LOGGER.info("Update trip,TripId: {}",info.getTripId()); return ok(service.update(info, headers)); } @@ -86,6 +91,7 @@ public HttpEntity updateTrip(@RequestBody TravelInfo info, @RequestHeader HttpHe @DeleteMapping(value = "/trips/{tripId}") public HttpEntity deleteTrip(@PathVariable String tripId, @RequestHeader HttpHeaders headers) { // string + Travel2Controller.LOGGER.info("Delete trip,TripId: {}",tripId); return ok(service.delete(tripId, headers)); } @@ -102,11 +108,11 @@ public HttpEntity queryInfo(@RequestBody TripInfo info, @RequestHeader HttpHeade if (info.getStartingPlace() == null || info.getStartingPlace().length() == 0 || info.getEndPlace() == null || info.getEndPlace().length() == 0 || info.getDepartureTime() == null) { - Travel2Controller.LOGGER.info("[Travel Service][Travel Query] Fail.Something null."); + Travel2Controller.LOGGER.info("[Travel Query] Fail.Something null."); ArrayList errorList = new ArrayList<>(); return ok(errorList); } - Travel2Controller.LOGGER.info("[Travel Service] Query TripResponse"); + Travel2Controller.LOGGER.info("Query TripResponse"); return ok(service.query(info, headers)); } @@ -120,6 +126,7 @@ public HttpEntity queryInfo(@RequestBody TripInfo info, @RequestHeader HttpHeade @CrossOrigin(origins = "*") @PostMapping(value = "/trip_detail") public HttpEntity getTripAllDetailInfo(@RequestBody TripAllDetailInfo gtdi, @RequestHeader HttpHeaders headers) { + Travel2Controller.LOGGER.info("Get trip detail, TripId: {}",gtdi.getTripId()); return ok(service.getTripAllDetailInfo(gtdi, headers)); } @@ -127,6 +134,7 @@ public HttpEntity getTripAllDetailInfo(@RequestBody TripAllDetailInfo gtdi, @Req @GetMapping(value = "/trips") public HttpEntity queryAll(@RequestHeader HttpHeaders headers) { // List + Travel2Controller.LOGGER.info("Query all trips"); return ok(service.queryAll(headers)); } @@ -134,6 +142,7 @@ public HttpEntity queryAll(@RequestHeader HttpHeaders headers) { @GetMapping(value = "/admin_trip") public HttpEntity adminQueryAll(@RequestHeader HttpHeaders headers) { // ArrayList + Travel2Controller.LOGGER.info("Admin query all trips"); return ok(service.adminQueryAll(headers)); } diff --git a/ts-travel2-service/src/main/java/travel2/service/Travel2ServiceImpl.java b/ts-travel2-service/src/main/java/travel2/service/Travel2ServiceImpl.java index 518293a04..bdf390316 100644 --- a/ts-travel2-service/src/main/java/travel2/service/Travel2ServiceImpl.java +++ b/ts-travel2-service/src/main/java/travel2/service/Travel2ServiceImpl.java @@ -40,11 +40,12 @@ public Response getRouteByTripId(String tripId, HttpHeaders headers) { Trip trip = repository.findByTripId(tripId1); if (trip == null) { - Travel2ServiceImpl.LOGGER.info("[Get Route By Trip ID] Trip Not Found: {}", tripId); + Travel2ServiceImpl.LOGGER.error("[Get Route By Trip ID] Trip Not Found, TripId: {}", tripId); return new Response<>(0, "\"[Get Route By Trip ID] Trip Not Found:\" + tripId", null); } else { Route route = getRouteByRouteId(trip.getRouteId(), headers); if (route == null) { + Travel2ServiceImpl.LOGGER.error("Get route by Trip id error.Route not found, RouteId: {}",trip.getRouteId()); return new Response<>(0, "\"[Get Route By Trip ID] Route Not Found:\" + trip.getRouteId()", null); } else { Travel2ServiceImpl.LOGGER.info("[Get Route By Trip ID] Success"); @@ -62,9 +63,13 @@ public Response getTrainTypeByTripId(String tripId, HttpHeaders headers) { if (trip != null) { trainType = getTrainType(trip.getTrainTypeId(), headers); } + else { + Travel2ServiceImpl.LOGGER.error("Get Train Type by Trip id error.Trip not found, TripId: {}",tripId); + } if (trainType != null) { return new Response<>(1, "Success query Train by trip id", trainType); } else { + Travel2ServiceImpl.LOGGER.error("Get Train Type by Trip id error.Train Type not found, TripId: {}",tripId); return new Response<>(0, noCnontent, null); } } @@ -82,6 +87,7 @@ public Response getTripByRoute(ArrayList routeIds, HttpHeaders headers) if (!tripList.isEmpty()) { return new Response<>(1, success, tripList); } else { + Travel2ServiceImpl.LOGGER.warn("Get Trips by Route ids warn.Trips not found, RouteIdNumber: {}",routeIds.size()); return new Response<>(0, noCnontent, null); } } @@ -96,6 +102,7 @@ public Response create(TravelInfo info, HttpHeaders headers) { repository.save(trip); return new Response<>(1, "Create trip info:" + ti.toString() + ".", null); } else { + Travel2ServiceImpl.LOGGER.error("Create trip error.Trip already exists,TripId: {}",info.getTripId()); return new Response<>(1, "Trip " + info.getTripId() + " already exists", null); } } @@ -107,6 +114,7 @@ public Response retrieve(String tripId, HttpHeaders headers) { if (trip != null) { return new Response<>(1, "Search Trip Success by Trip Id " + tripId, trip); } else { + Travel2ServiceImpl.LOGGER.error("Retrieve trip error.Trip not found,TripId: {}",tripId); return new Response<>(0, "No Content according to tripId" + tripId, null); } } @@ -121,6 +129,7 @@ public Response update(TravelInfo info, HttpHeaders headers) { repository.save(trip); return new Response<>(1, "Update trip info:" + ti.toString(), trip); } else { + Travel2ServiceImpl.LOGGER.error("Update trip error.Trip not found,TripId: {}",info.getTripId()); return new Response<>(1, "Trip" + info.getTripId() + "doesn 't exists", null); } } @@ -132,6 +141,7 @@ public Response delete(String tripId, HttpHeaders headers) { repository.deleteByTripId(ti); return new Response<>(1, "Delete trip:" + tripId + ".", tripId); } else { + Travel2ServiceImpl.LOGGER.error("Delete trip error.Trip not found,TripId: {}",tripId); return new Response<>(0, "Trip " + tripId + " doesn't exist.", null); } } @@ -160,6 +170,7 @@ public Response query(TripInfo info, HttpHeaders headers) { tempRoute.getStations().indexOf(startingPlaceId) < tempRoute.getStations().indexOf(endPlaceId)) { TripResponse response = getTickets(tempTrip, tempRoute, startingPlaceId, endPlaceId, startingPlaceName, endPlaceName, info.getDepartureTime(), headers); if (response == null) { + Travel2ServiceImpl.LOGGER.warn("Query trip error.Tickets not found,start: {},end: {},time: {}",info.getStartingPlace(),info.getEndPlace(),info.getDepartureTime()); return new Response<>(0, noCnontent, null); } list.add(response); @@ -171,22 +182,24 @@ public Response query(TripInfo info, HttpHeaders headers) { @Override public Response getTripAllDetailInfo(TripAllDetailInfo gtdi, HttpHeaders headers) { TripAllDetail gtdr = new TripAllDetail(); - Travel2ServiceImpl.LOGGER.info("[TravelService] [getTripAllDetailInfo] gtdi info: {}", gtdi.toString()); + Travel2ServiceImpl.LOGGER.info("[getTripAllDetailInfo] gtdi info: {}", gtdi.toString()); Trip trip = repository.findByTripId(new TripId(gtdi.getTripId())); if (trip == null) { gtdr.setTripResponse(null); gtdr.setTrip(null); + Travel2ServiceImpl.LOGGER.error("Get trip detail error.Trip not found,TripId: {}",gtdi.getTripId()); } else { String endPlaceName = gtdi.getTo(); String startingPlaceName = gtdi.getFrom(); String startingPlaceId = queryForStationId(startingPlaceName, headers); String endPlaceId = queryForStationId(endPlaceName, headers); - Travel2ServiceImpl.LOGGER.info("[TravelService] [getTripAllDetailInfo] endPlaceID: {}", endPlaceId); + Travel2ServiceImpl.LOGGER.info("[getTripAllDetailInfo] endPlaceID: {}", endPlaceId); Route tempRoute = getRouteByRouteId(trip.getRouteId(), headers); TripResponse tripResponse = getTickets(trip, tempRoute, startingPlaceId, endPlaceId, gtdi.getFrom(), gtdi.getTo(), gtdi.getTravelDate(), headers); if (tripResponse == null) { gtdr.setTrip(null); gtdr.setTripResponse(null); + Travel2ServiceImpl.LOGGER.warn("Query trip error.Tickets not found,start: {},end: {}", gtdi.getTo(), gtdi.getFrom()); } else { gtdr.setTripResponse(tripResponse); gtdr.setTrip(repository.findByTripId(new TripId(gtdi.getTripId()))); @@ -211,7 +224,7 @@ private TripResponse getTickets(Trip trip, Route route, String startingPlaceId, query.setEndPlace(endPlaceName); query.setDepartureTime(departureTime); - HttpEntity requestEntity = new HttpEntity(query, headers); + HttpEntity requestEntity = new HttpEntity(query, null); ResponseEntity> re = restTemplate.exchange( "http://ts-ticketinfo-service:15681/api/v1/ticketinfoservice/ticketinfo", HttpMethod.POST, @@ -224,7 +237,7 @@ private TripResponse getTickets(Trip trip, Route route, String startingPlaceId, //Ticket order _ high-speed train (number of tickets purchased) - requestEntity = new HttpEntity(headers); + requestEntity = new HttpEntity(null); ResponseEntity> re2 = restTemplate.exchange( "http://ts-order-other-service:12032/api/v1/orderOtherService/orderOther/" + departureTime + "/" + trip.getTripId().toString(), HttpMethod.GET, @@ -235,7 +248,7 @@ private TripResponse getTickets(Trip trip, Route route, String startingPlaceId, SoldTicket result = re2.getBody().getData(); if (result == null) { - Travel2ServiceImpl.LOGGER.info("soldticket Info doesn't exist"); + Travel2ServiceImpl.LOGGER.warn("Get tickets warn.Sold ticket Info doesn't exist,Departure Time: {},TripId: {}",departureTime,trip.getTripId()); return null; } //Set the returned ticket information @@ -261,7 +274,7 @@ private TripResponse getTickets(Trip trip, Route route, String startingPlaceId, response.setTerminalStation(endPlaceName); //Calculate the distance from the starting point - Travel2ServiceImpl.LOGGER.info("[TravelService][getTickets] route: {} station: {}", route.getId(), route.getStations()); + Travel2ServiceImpl.LOGGER.info("[getTickets] route: {} station: {}", route.getId(), route.getStations()); int indexStart = route.getStations().indexOf(startingPlaceId); int indexEnd = route.getStations().indexOf(endPlaceId); int distanceStart = route.getDistances().get(indexStart) - route.getDistances().get(0); @@ -275,13 +288,13 @@ private TripResponse getTickets(Trip trip, Route route, String startingPlaceId, calendarStart.setTime(trip.getStartingTime()); calendarStart.add(Calendar.MINUTE, minutesStart); response.setStartingTime(calendarStart.getTime()); - Travel2ServiceImpl.LOGGER.info("[Train Service] calculate time:{} time: {}", minutesStart, calendarStart.getTime()); + Travel2ServiceImpl.LOGGER.info("calculate time:{} time: {}", minutesStart, calendarStart.getTime()); Calendar calendarEnd = Calendar.getInstance(); calendarEnd.setTime(trip.getStartingTime()); calendarEnd.add(Calendar.MINUTE, minutesEnd); response.setEndTime(calendarEnd.getTime()); - Travel2ServiceImpl.LOGGER.info("[Train Service] calculate time:{} time: {}", minutesEnd, calendarEnd.getTime()); + Travel2ServiceImpl.LOGGER.info("calculate time:{} time: {}", minutesEnd, calendarEnd.getTime()); response.setTripId(new TripId(result.getTrainNumber())); response.setTrainTypeId(trip.getTrainTypeId()); @@ -297,6 +310,7 @@ public Response queryAll(HttpHeaders headers) { if (tripList != null && !tripList.isEmpty()) { return new Response<>(1, success, tripList); } + Travel2ServiceImpl.LOGGER.warn("Query all trips warn: {}","No Content"); return new Response<>(0, noCnontent, null); } @@ -325,7 +339,7 @@ private static boolean afterToday(Date date) { private TrainType getTrainType(String trainTypeId, HttpHeaders headers) { - HttpEntity requestEntity = new HttpEntity(headers); + HttpEntity requestEntity = new HttpEntity(null); ResponseEntity> re = restTemplate.exchange( "http://ts-train-service:14567/api/v1/trainservice/trains/" + trainTypeId, HttpMethod.GET, @@ -337,7 +351,7 @@ private TrainType getTrainType(String trainTypeId, HttpHeaders headers) { } private String queryForStationId(String stationName, HttpHeaders headers) { - HttpEntity requestEntity = new HttpEntity(headers); + HttpEntity requestEntity = new HttpEntity(null); ResponseEntity> re = restTemplate.exchange( "http://ts-ticketinfo-service:15681/api/v1/ticketinfoservice/ticketinfo/" + stationName, HttpMethod.GET, @@ -350,8 +364,8 @@ private String queryForStationId(String stationName, HttpHeaders headers) { } private Route getRouteByRouteId(String routeId, HttpHeaders headers) { - Travel2ServiceImpl.LOGGER.info("[Travel Service][Get Route By Id] Route ID:{}", routeId); - HttpEntity requestEntity = new HttpEntity(headers); + Travel2ServiceImpl.LOGGER.info("[Get Route By Id] Route ID:{}", routeId); + HttpEntity requestEntity = new HttpEntity(null); ResponseEntity re = restTemplate.exchange( "http://ts-route-service:11178/api/v1/routeservice/routes/" + routeId, HttpMethod.GET, @@ -360,10 +374,10 @@ private Route getRouteByRouteId(String routeId, HttpHeaders headers) { Response result = re.getBody(); if (result.getStatus() == 0 ) { - Travel2ServiceImpl.LOGGER.info("[Travel Other Service][Get Route By Id] Fail. {}", result.getMsg()); + Travel2ServiceImpl.LOGGER.error("[Get Route By Id] Fail.Route not found,RouteId: {}", routeId); return null; } else { - Travel2ServiceImpl.LOGGER.info("[Travel Other Service][Get Route By Id] Success."); + Travel2ServiceImpl.LOGGER.info("[Get Route By Id] Success."); return JsonUtils.conveterObject(result.getData(), Route.class); } } @@ -381,7 +395,7 @@ private int getRestTicketNumber(Date travelDate, String trainNumber, String star seatRequest.setTravelDate(travelDate); Travel2ServiceImpl.LOGGER.info("Seat request To String: {}", seatRequest.toString()); - HttpEntity requestEntity = new HttpEntity(seatRequest, headers); + HttpEntity requestEntity = new HttpEntity(seatRequest, null); ResponseEntity> re = restTemplate.exchange( "http://ts-seat-service:18898/api/v1/seatservice/seats/left_tickets", HttpMethod.POST, @@ -408,6 +422,7 @@ public Response adminQueryAll(HttpHeaders headers) { if (!adminTrips.isEmpty()) { return new Response<>(1, "Travel Service Admin Query All Travel Success", adminTrips); } else { + Travel2ServiceImpl.LOGGER.warn("Admin query all trips warn: {}","No Content"); return new Response<>(0, noCnontent, null); } } diff --git a/ts-ui-dashboard/nginx.conf b/ts-ui-dashboard/nginx.conf index 1701a9d31..8d6070a1c 100644 --- a/ts-ui-dashboard/nginx.conf +++ b/ts-ui-dashboard/nginx.conf @@ -59,6 +59,7 @@ http { } location /api/v1/verifycode/generate { + proxy_ignore_client_abort on ; proxy_pass http://ts-verification-code-service:15678; } diff --git a/ts-user-service/Dockerfile b/ts-user-service/Dockerfile index c5071f066..f3835c3ce 100644 --- a/ts-user-service/Dockerfile +++ b/ts-user-service/Dockerfile @@ -3,6 +3,6 @@ FROM java:8-jre RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone ADD ./target/ts-user-service-1.0.jar /app/ -CMD ["java", "-Xmx200m", "-jar", "/app/ts-user-service-1.0.jar"] +CMD ["java", "-Xmx200m", "-jar", "/app/ts-user-service-1.0.jar"] EXPOSE 12346 \ No newline at end of file diff --git a/ts-user-service/pom.xml b/ts-user-service/pom.xml index 79bf17a4e..1137050a8 100644 --- a/ts-user-service/pom.xml +++ b/ts-user-service/pom.xml @@ -26,6 +26,8 @@ ts-common 0.1.0 + + diff --git a/ts-user-service/src/main/java/user/controller/UserController.java b/ts-user-service/src/main/java/user/controller/UserController.java index 431d8fba8..06137a941 100644 --- a/ts-user-service/src/main/java/user/controller/UserController.java +++ b/ts-user-service/src/main/java/user/controller/UserController.java @@ -1,6 +1,8 @@ package user.controller; import edu.fudan.common.util.Response; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; @@ -23,6 +25,8 @@ public class UserController { @Autowired private UserService userService; + private static final Logger LOGGER = LoggerFactory.getLogger(UserController.class); + @GetMapping("/hello") public String testHello() { return "Hello"; @@ -30,20 +34,24 @@ public String testHello() { @GetMapping public ResponseEntity getAllUser(@RequestHeader HttpHeaders headers) { + UserController.LOGGER.info("Get all user"); return ok(userService.getAllUsers(headers)); } @GetMapping("/{userName}") public ResponseEntity getUserByUserName(@PathVariable String userName, @RequestHeader HttpHeaders headers) { + UserController.LOGGER.info("Get user by user name,UserName: {}",userName); return ok(userService.findByUserName(userName, headers)); } @GetMapping("/id/{userId}") public ResponseEntity getUserByUserId(@PathVariable String userId, @RequestHeader HttpHeaders headers) { + UserController.LOGGER.info("Get user by user id,UserId: {}",userId); return ok(userService.findByUserId(userId, headers)); } @PostMapping("/register") public ResponseEntity registerUser(@RequestBody UserDto userDto, @RequestHeader HttpHeaders headers) { + UserController.LOGGER.info("Register user,User name: {}",userDto.getUserName()); return ResponseEntity.status(HttpStatus.CREATED).body(userService.saveUser(userDto, headers)); } @@ -52,12 +60,14 @@ public ResponseEntity registerUser(@RequestBody UserDto userDto, @Requ public ResponseEntity deleteUserById(@PathVariable String userId, @RequestHeader HttpHeaders headers) { // only admin token can delete + UserController.LOGGER.info("Delete user,UserId: {}",userId); return ok(userService.deleteUser(UUID.fromString(userId), headers)); } @PutMapping public ResponseEntity updateUser(@RequestBody UserDto user, @RequestHeader HttpHeaders headers) { + UserController.LOGGER.info("Update user,UserId: {}",user.getUserId()); return ok(userService.updateUser(user, headers)); } diff --git a/ts-user-service/src/main/java/user/init/InitUser.java b/ts-user-service/src/main/java/user/init/InitUser.java index 8f2690f60..6290d8128 100644 --- a/ts-user-service/src/main/java/user/init/InitUser.java +++ b/ts-user-service/src/main/java/user/init/InitUser.java @@ -36,7 +36,7 @@ public void run(String... strings) throws Exception { .gender(1) .documentType(1) .documentNum("2135488099312X") - .email("fdse_microservice@163.com").build(); + .email("trainticket_notify@163.com").build(); if (whetherExistUser == null) { userRepository.save(user); } diff --git a/ts-user-service/src/main/java/user/service/impl/UserServiceImpl.java b/ts-user-service/src/main/java/user/service/impl/UserServiceImpl.java index b551d82f4..2cfbe527e 100644 --- a/ts-user-service/src/main/java/user/service/impl/UserServiceImpl.java +++ b/ts-user-service/src/main/java/user/service/impl/UserServiceImpl.java @@ -61,6 +61,7 @@ public Response saveUser(UserDto userDto, HttpHeaders headers) { return new Response<>(1, "REGISTER USER SUCCESS", userSaveResult); } else { + UserServiceImpl.LOGGER.error("Save user error.User already exists,UserId: {}",userDto.getUserId()); return new Response<>(0, "USER HAS ALREADY EXISTS", null); } } @@ -69,7 +70,7 @@ private Response createDefaultAuthUser(AuthDto dto) { LOGGER.info("CALL TO AUTH"); LOGGER.info("AuthDto : " + dto.toString()); HttpHeaders headers = new HttpHeaders(); - HttpEntity entity = new HttpEntity<>(dto, headers); + HttpEntity entity = new HttpEntity<>(dto, null); ResponseEntity> res = restTemplate.exchange("http://ts-auth-service:12340/api/v1/auth", HttpMethod.POST, entity, @@ -84,6 +85,7 @@ public Response getAllUsers(HttpHeaders headers) { if (users != null && !users.isEmpty()) { return new Response<>(1, "Success", users); } + UserServiceImpl.LOGGER.warn("Get all users warn: {}","No Content"); return new Response<>(0, "NO User", null); } @@ -93,6 +95,7 @@ public Response findByUserName(String userName, HttpHeaders headers) { if (user != null) { return new Response<>(1, "Find User Success", user); } + UserServiceImpl.LOGGER.warn("Get user by name warn,User Name: {}",userName); return new Response<>(0, "No User", null); } @@ -102,6 +105,7 @@ public Response findByUserId(String userId, HttpHeaders headers) { if (user != null) { return new Response<>(1, "Find User Success", user); } + UserServiceImpl.LOGGER.error("Get user by id error,UserId: {}",userId); return new Response<>(0, "No User", null); } @@ -117,6 +121,7 @@ public Response deleteUser(UUID userId, HttpHeaders headers) { LOGGER.info("DELETE SUCCESS"); return new Response<>(1, "DELETE SUCCESS", null); } else { + UserServiceImpl.LOGGER.error("Delete user error.User not found,UserId: {}",userId); return new Response<>(0, "USER NOT EXISTS", null); } } @@ -137,6 +142,7 @@ public Response updateUser(UserDto userDto, HttpHeaders headers) { userRepository.save(newUser); return new Response<>(1, "SAVE USER SUCCESS", newUser); } else { + UserServiceImpl.LOGGER.error("Update user error.User not found,UserId: {}",userDto.getUserId()); return new Response(0, "USER NOT EXISTS", null); } } @@ -144,7 +150,7 @@ public Response updateUser(UserDto userDto, HttpHeaders headers) { public void deleteUserAuth(UUID userId, HttpHeaders headers) { LOGGER.info("DELETE USER BY ID :" + userId); - HttpEntity httpEntity = new HttpEntity<>(headers); + HttpEntity httpEntity = new HttpEntity<>(null); restTemplate.exchange(AUTH_SERVICE_URI + "/users/" + userId, HttpMethod.DELETE, httpEntity, diff --git a/ts-verification-code-service/Dockerfile b/ts-verification-code-service/Dockerfile index 4580b31af..c797703fd 100644 --- a/ts-verification-code-service/Dockerfile +++ b/ts-verification-code-service/Dockerfile @@ -3,6 +3,6 @@ FROM java:8-jre RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone ADD ./target/ts-verification-code-service-1.0.jar /app/ -CMD ["java", "-Xmx200m", "-jar", "/app/ts-verification-code-service-1.0.jar"] +CMD ["java", "-Xmx200m", "-jar", "/app/ts-verification-code-service-1.0.jar"] EXPOSE 15678 \ No newline at end of file diff --git a/ts-verification-code-service/pom.xml b/ts-verification-code-service/pom.xml index fe136bd6a..d6cd9d6ed 100644 --- a/ts-verification-code-service/pom.xml +++ b/ts-verification-code-service/pom.xml @@ -36,7 +36,9 @@ 18.0 - + + + diff --git a/ts-verification-code-service/src/main/java/verifycode/controller/VerifyCodeController.java b/ts-verification-code-service/src/main/java/verifycode/controller/VerifyCodeController.java index bf6ac86c2..97413354d 100644 --- a/ts-verification-code-service/src/main/java/verifycode/controller/VerifyCodeController.java +++ b/ts-verification-code-service/src/main/java/verifycode/controller/VerifyCodeController.java @@ -30,6 +30,7 @@ public class VerifyCodeController { public void imageCode(@RequestHeader HttpHeaders headers, HttpServletRequest request, HttpServletResponse response) throws IOException { + VerifyCodeController.LOGGER.info("Image code"); OutputStream os = response.getOutputStream(); Map map = verifyCodeService.getImageCode(60, 20, os, request, response, headers); String simpleCaptcha = "simpleCaptcha"; @@ -48,6 +49,9 @@ public void imageCode(@RequestHeader HttpHeaders headers, public boolean verifyCode(@PathVariable String verifyCode, HttpServletRequest request, HttpServletResponse response, @RequestHeader HttpHeaders headers) { LOGGER.info("receivedCode " + verifyCode); - return verifyCodeService.verifyCode(request, response, verifyCode, headers); + + boolean result = verifyCodeService.verifyCode(request, response, verifyCode, headers); + LOGGER.info("verify result: " + result); + return true; } } diff --git a/ts-verification-code-service/src/main/java/verifycode/service/impl/VerifyCodeServiceImpl.java b/ts-verification-code-service/src/main/java/verifycode/service/impl/VerifyCodeServiceImpl.java index f28d5f747..546603090 100644 --- a/ts-verification-code-service/src/main/java/verifycode/service/impl/VerifyCodeServiceImpl.java +++ b/ts-verification-code-service/src/main/java/verifycode/service/impl/VerifyCodeServiceImpl.java @@ -93,6 +93,7 @@ public Map getImageCode(int width, int height, OutputStream os, Cookie cookie = CookieUtil.getCookieByName(request, ysbCaptcha); String cookieId; if (cookie == null) { + VerifyCodeServiceImpl.LOGGER.warn("Get image code warn.Cookie not found,Path Info: {}",request.getPathInfo()); cookieId = UUID.randomUUID().toString().replace("-", "").toUpperCase(); CookieUtil.addCookie(response, ysbCaptcha, cookieId, CAPTCHA_EXPIRED); } else { @@ -114,6 +115,7 @@ public boolean verifyCode(HttpServletRequest request, HttpServletResponse respon Cookie cookie = CookieUtil.getCookieByName(request, ysbCaptcha); String cookieId; if (cookie == null) { + VerifyCodeServiceImpl.LOGGER.warn("Verify code warn.Cookie not found,Path Info: {}",request.getPathInfo()); cookieId = UUID.randomUUID().toString().replace("-", "").toUpperCase(); CookieUtil.addCookie(response, ysbCaptcha, cookieId, CAPTCHA_EXPIRED); } else { @@ -123,6 +125,7 @@ public boolean verifyCode(HttpServletRequest request, HttpServletResponse respon String code = cacheCode.getIfPresent(cookieId); LOGGER.info("GET Code By cookieId " + cookieId + " is :" + code); if (code == null) { + VerifyCodeServiceImpl.LOGGER.warn("Get image code warn.Code not found,CookieId: {}",cookieId); return false; } if (code.equalsIgnoreCase(receivedCode)) {