Browse Source

用户余额查询

xusonglin 5 years ago
parent
commit
6c1139a304

+ 3 - 1
src/main/java/com/jkcredit/invoice/hub/constant/CommonConstant.java

@@ -14,7 +14,7 @@ public class CommonConstant {
     public static Integer ACTIVATED_DELETED = 2;
     public static String[] CAR_FREE_API_ARGS = {"COMPANY_QUERY_V1", "COMPANY_ADD_V1", "VEHICLE_REGISTER_QUERY",
             "VEHICLE_REGISTER", "WAY_BILL_START", "WAY_BILL_END", "WAY_BILL_HISTORY_START", "WAY_BILL_HISTORY_END",
-            "WAY_BILL_NUM_FIND_INVOICE", "WAY_BILL_COUNT_QUERY"};
+            "WAY_BILL_NUM_FIND_INVOICE", "WAY_BILL_COUNT_QUERY", "BALANCE_QUERY"};
     // companyNum
     public static final String COMPANY_NUMBER = "10004616";
 
@@ -38,6 +38,8 @@ public class CommonConstant {
     public static String WAY_BILL_NUM_FIND_INVOICE = "WAY_BILL_NUM_FIND_INVOICE";
     // 月账单交易查询
     public static String WAY_BILL_COUNT_QUERY = "WAY_BILL_COUNT_QUERY";
+    // 用户余额查询
+    public static String BALANCE_QUERY = "BALANCE_QUERY";
 
     // 备案来源 无车承运人
     public static Integer WAYBILL_SOURCE_1 = 1;

+ 2 - 0
src/main/java/com/jkcredit/invoice/hub/controller/rest/forward/ForwardResource.java

@@ -71,6 +71,8 @@ public class ForwardResource extends RestResource {
                 return apiCarFreeService.wayBillHistoryEnd(JSON.parseObject(JSON.toJSONString(param.getData())));
             } else if (param.getApi().equals(CommonConstant.WAY_BILL_COUNT_QUERY)) {
                 return wayBillCountQueryService.wayBillCountQuery(JSON.parseObject(JSON.toJSONString(param.getData())));
+            } else if (param.getApi().equals(CommonConstant.BALANCE_QUERY)) {
+                return apiUserService.balanceQuery(JSON.parseObject(JSON.toJSONString(param.getData())));
             } else {
                 return ApiResponseData.failure(ApiResponseCodeEnum.CODE_1080.getValue(), ApiResponseCodeEnum.CODE_1080.getDesc());
             }

+ 23 - 0
src/main/java/com/jkcredit/invoice/hub/model/dto/userBalance/UserBalanceDto.java

@@ -0,0 +1,23 @@
+package com.jkcredit.invoice.hub.model.dto.userBalance;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @description:
+ * @author: xusonglin
+ * @create: 2020/1/17 23:45
+ * @version: V1.0
+ **/
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class UserBalanceDto implements Serializable {
+    private static final long serialVersionUID = -1784057925412485786L;
+    private Double balance;
+    private Date lastDeductionTime;
+}

+ 4 - 0
src/main/java/com/jkcredit/invoice/hub/service/apiUser/ApiUserService.java

@@ -1,6 +1,8 @@
 package com.jkcredit.invoice.hub.service.apiUser;
 
+import com.alibaba.fastjson.JSONObject;
 import com.jkcredit.invoice.hub.spi.rest.data.ApiRequestParam;
+import com.jkcredit.invoice.hub.spi.rest.data.ApiResponseData;
 
 /**
  * @description: 接口用户信息验证
@@ -10,4 +12,6 @@ import com.jkcredit.invoice.hub.spi.rest.data.ApiRequestParam;
  **/
 public interface ApiUserService {
     Integer validateUser(ApiRequestParam param);
+
+    ApiResponseData balanceQuery(JSONObject param);
 }

+ 16 - 0
src/main/java/com/jkcredit/invoice/hub/service/apiUser/ApiUserServiceImpl.java

@@ -4,11 +4,14 @@ import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.jkcredit.invoice.hub.constant.CommonConstant;
 import com.jkcredit.invoice.hub.enums.ApiResponseCodeEnum;
+import com.jkcredit.invoice.hub.model.dto.userBalance.UserBalanceDto;
 import com.jkcredit.invoice.hub.model.po.user.UserPo;
 import com.jkcredit.invoice.hub.service.base.BaseService;
 import com.jkcredit.invoice.hub.service.user.UserService;
+import com.jkcredit.invoice.hub.service.userBalance.UserBalanceService;
 import com.jkcredit.invoice.hub.spi.lang.exception.ServiceException;
 import com.jkcredit.invoice.hub.spi.rest.data.ApiRequestParam;
+import com.jkcredit.invoice.hub.spi.rest.data.ApiResponseData;
 import com.jkcredit.invoice.hub.util.CommonUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -26,6 +29,8 @@ import org.thymeleaf.util.ArrayUtils;
 public class ApiUserServiceImpl extends BaseService implements ApiUserService {
     @Autowired
     UserService userService;
+    @Autowired
+    UserBalanceService userBalanceService;
 
     @Override
     public Integer validateUser(ApiRequestParam param) {
@@ -47,4 +52,15 @@ public class ApiUserServiceImpl extends BaseService implements ApiUserService {
             return ApiResponseCodeEnum.CODE_200.getValue();
         }
     }
+
+    @Override
+    public ApiResponseData balanceQuery(JSONObject param) {
+        try {
+            UserBalanceDto dto = userBalanceService.getUserBalance(param.getLong("userId"));
+            return ApiResponseData.success(ApiResponseCodeEnum.CODE_200.getValue(), JSON.toJSONString(dto));
+        } catch (ServiceException se) {
+            log.error("[-balanceQuery-] 错误信息:" + se.getMessage());
+            throw new ServiceException(se.getMessage());
+        }
+    }
 }

+ 13 - 0
src/main/java/com/jkcredit/invoice/hub/service/userBalance/UserBalanceService.java

@@ -0,0 +1,13 @@
+package com.jkcredit.invoice.hub.service.userBalance;
+
+import com.jkcredit.invoice.hub.model.dto.userBalance.UserBalanceDto;
+
+/**
+ * @description:
+ * @author: xusonglin
+ * @create: 2020/1/17 23:43
+ * @version: V1.0
+ **/
+public interface UserBalanceService {
+    UserBalanceDto getUserBalance(Long userId);
+}

+ 37 - 0
src/main/java/com/jkcredit/invoice/hub/service/userBalance/UserBalanceServiceImpl.java

@@ -0,0 +1,37 @@
+package com.jkcredit.invoice.hub.service.userBalance;
+
+import com.jkcredit.invoice.hub.constant.ExceptionMessage;
+import com.jkcredit.invoice.hub.mapper.UserBalanceMapper;
+import com.jkcredit.invoice.hub.model.dto.userBalance.UserBalanceDto;
+import com.jkcredit.invoice.hub.model.po.userBalance.UserBalancePo;
+import com.jkcredit.invoice.hub.service.base.BaseService;
+import com.jkcredit.invoice.hub.spi.lang.exception.ServiceException;
+import com.jkcredit.invoice.hub.util.CommonUtil;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+
+/**
+ * @description:
+ * @author: xusonglin
+ * @create: 2020/1/17 23:44
+ * @version: V1.0
+ **/
+@Slf4j
+@Service
+public class UserBalanceServiceImpl extends BaseService implements UserBalanceService {
+    @Resource
+    UserBalanceMapper userBalanceMapper;
+
+    @Override
+    public UserBalanceDto getUserBalance(Long userId) {
+        UserBalancePo userBalancePo = userBalanceMapper.selectById(userId);
+        if (userBalancePo == null) {
+            throw new ServiceException(ExceptionMessage.USER_NOT_EXIST);
+        }
+        // TODO UPDATE_TIME格式化
+        UserBalanceDto userBalanceDto = new UserBalanceDto(CommonUtil.parseDouble(userBalancePo.getBalance()), userBalancePo.getUpdateTime());
+        return userBalanceDto;
+    }
+}