Browse Source

添加余额信息

yq 3 years ago
parent
commit
b196f2b4ce

+ 0 - 37
src/main/java/com/usky/dxtop/controller/web/ApiLoginController.java

@@ -1,37 +0,0 @@
-package com.usky.dxtop.controller.web;
-
-import com.usky.dxtop.common.core.domain.AjaxResult;
-import com.usky.dxtop.common.core.domain.model.LoginBody;
-import com.usky.dxtop.framework.web.service.SysLoginService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * 登录
- * @author yq
- * @date 2021/9/17 11:08
- */
-@RestController
-public class ApiLoginController {
-
-
-    @Autowired
-    private SysLoginService loginService;
-
-    /**
-     * 登录方法
-     *
-     * @param loginBody 登录信息
-     * @return 结果
-     */
-    @PostMapping("/loginApi")
-    public AjaxResult login(@RequestBody LoginBody loginBody)
-    {
-        // 生成令牌
-        String token = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(),
-                loginBody.getUuid(),false);
-        return AjaxResult.success(token);
-    }
-}

+ 15 - 0
src/main/java/com/usky/dxtop/controller/web/SysLoginController.java

@@ -58,6 +58,21 @@ public class SysLoginController
         return ajax;
     }
 
+    /**
+     * 登录方法
+     *
+     * @param loginBody 登录信息
+     * @return 结果
+     */
+    @GetMapping("/loginApi")
+    public AjaxResult getToken(@RequestBody LoginBody loginBody)
+    {
+        // 生成令牌
+        String token = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(),
+                loginBody.getUuid(),false);
+        return AjaxResult.success(token);
+    }
+
     /**
      * 获取用户信息
      * 

+ 7 - 0
src/main/java/com/usky/dxtop/model/Staff.java

@@ -8,6 +8,7 @@ import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
 
 import java.io.Serializable;
+import java.math.BigDecimal;
 import java.util.Date;
 
 /**
@@ -145,4 +146,10 @@ public class Staff implements Serializable {
       */
     private Boolean faceSuccess;
 
+    /**
+     * 余额
+     */
+    private BigDecimal balance;
+
+
 }

+ 3 - 1
src/main/java/com/usky/dxtop/service/StaffService.java

@@ -6,6 +6,8 @@ import com.usky.dxtop.common.core.page.CommonPage;
 import com.usky.dxtop.model.Staff;
 import com.usky.dxtop.service.vo.StaffRequest;
 
+import java.math.BigDecimal;
+
 /**
  * <p>
  *  服务类
@@ -20,7 +22,7 @@ public interface StaffService extends IService<Staff> {
     CommonPage<Staff> page(StaffRequest staffRequest);
 
 
-    String getBalance(String card);
+    BigDecimal getBalance(String card);
 
 
     Staff one(String id,String phone,String card);

+ 6 - 14
src/main/java/com/usky/dxtop/service/impl/StaffServiceImpl.java

@@ -26,8 +26,10 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Service;
 
+import java.math.BigDecimal;
 import java.util.HashMap;
 import java.util.Map;
+import java.util.Optional;
 
 /**
  * <p>
@@ -70,20 +72,10 @@ public class StaffServiceImpl extends ServiceImpl<StaffMapper, Staff> implements
     }
 
     @Override
-    public String getBalance(String card) {
-        MsgLog msgLog = new MsgLog();
-        msgLog.setBusinessId(String.format("%s%s", MsgLogBusinessCode.BALANCE,card));
-        msgLog.setExchange(CartGetConsumeConfig.NAME);
-        msgLog.setRoutingKey(CartGetConsumeConfig.NAME);
-        msgLog.setRemark("获取卡余额");
-        Map<String,Object> map = new HashMap<>();
-        map.put("card",card);
-        msgLog.setMsg(JSON.toJSONString(map));
-        msgLogService.addOrUpdate(msgLog);
-        map.put("seq",msgLog.getId());
-        CorrelationData correlationData = new CorrelationData(msgLog.getId().toString());
-        rabbitTemplate.convertAndSend(msgLog.getExchange(), msgLog.getRoutingKey(), map,correlationData);
-        return msgLog.getId().toString();
+    public BigDecimal getBalance(String card) {
+        Staff staff = this.one(null, null, card);
+        Optional.ofNullable(staff).orElseThrow(() -> new CustomException("用户信息不存在"));
+        return  staff.getBalance();
     }
 
     @Override

+ 9 - 0
src/main/java/com/usky/dxtop/service/listener/ChargeTransMqListener.java

@@ -2,7 +2,9 @@ package com.usky.dxtop.service.listener;
 
 import com.alibaba.fastjson.JSONObject;
 import com.usky.dxtop.model.Charge;
+import com.usky.dxtop.model.Staff;
 import com.usky.dxtop.service.ChargeService;
+import com.usky.dxtop.service.StaffService;
 import com.usky.dxtop.service.config.rabbitmq.ChargeTransConfig;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.amqp.core.Message;
@@ -23,6 +25,9 @@ public class ChargeTransMqListener {
     @Autowired
     private ChargeService chargeService;
 
+    @Autowired
+    private StaffService staffService;
+
     @RabbitListener(queues = ChargeTransConfig.NAME, containerFactory = ChargeTransConfig.LISTENER)
     public void dealDeclareMessage(Message message) {
         try {
@@ -33,6 +38,10 @@ public class ChargeTransMqListener {
             log.info("charge_trans_produce:接受到的消息"+s);
             Charge charge = JSONObject.parseObject(s, Charge.class);
             chargeService.saveOrUpdate(charge);
+            //更新用户余额
+            Staff staff = staffService.one(null, null, charge.getCard());
+            staff.setBalance(charge.getBalance());
+            staffService.updateById(staff);
         } catch (Exception e) {
             log.info("charge_trans_produce"+"异常信息:" + e.getMessage());
         } finally {

+ 8 - 0
src/main/java/com/usky/dxtop/service/listener/DishTransMqListener.java

@@ -2,7 +2,9 @@ package com.usky.dxtop.service.listener;
 
 import com.alibaba.fastjson.JSONObject;
 import com.usky.dxtop.model.Dish;
+import com.usky.dxtop.model.Staff;
 import com.usky.dxtop.service.DishService;
+import com.usky.dxtop.service.StaffService;
 import com.usky.dxtop.service.config.rabbitmq.DishTransConfig;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.amqp.core.Message;
@@ -22,6 +24,8 @@ public class DishTransMqListener {
 
     @Autowired
     private DishService dishService;
+    @Autowired
+    private StaffService staffService;
     @RabbitListener(queues = DishTransConfig.NAME, containerFactory = DishTransConfig.LISTENER)
     public void dealDeclareMessage(Message message) {
         try {
@@ -33,6 +37,10 @@ public class DishTransMqListener {
             log.info("dish_trade_produce获取到的消息"+s);
             Dish dish = JSONObject.parseObject(s, Dish.class);;
             dishService.saveOrUpdate(dish);
+            //更新用户余额
+            Staff staff = staffService.one(null, null, dish.getCard());
+            staff.setBalance(dish.getBalance());
+            staffService.updateById(staff);
         } catch (Exception e) {
             log.info("dish_trade_produce"+"异常信息:" + e.getMessage());
         }

+ 1 - 0
src/test/java/com/usky/dxtop/SmApiTest.java

@@ -23,6 +23,7 @@ public class SmApiTest {
     public void test1(){
         MsgLog msgLog = new MsgLog();
         msgLog.setId(System.currentTimeMillis());
+        msgLog.setMsg("222222222222222");
         msgLog.setBusinessId("2222");
         msgLogService.addOrUpdate(msgLog);
     }