From 28e3ff6cfc3d21d3e99d769b4105819a75afc063 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期三, 07 二月 2024 14:05:55 +0800
Subject: [PATCH] Merge branch 'dev' of http://120.76.84.145:10101/gitblit/r/java/IgoTravel

---
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/IntegralOrderServiceImpl.java |  110 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 110 insertions(+), 0 deletions(-)

diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/IntegralOrderServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/IntegralOrderServiceImpl.java
new file mode 100644
index 0000000..18ca615
--- /dev/null
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/IntegralOrderServiceImpl.java
@@ -0,0 +1,110 @@
+package com.stylefeng.guns.modular.system.service.impl;
+
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.stylefeng.guns.modular.system.dao.IntegralOrderMapper;
+import com.stylefeng.guns.modular.system.model.IntegralGoods;
+import com.stylefeng.guns.modular.system.model.IntegralOrder;
+import com.stylefeng.guns.modular.system.model.UserInfo;
+import com.stylefeng.guns.modular.system.service.IIntegralGoodsService;
+import com.stylefeng.guns.modular.system.service.IIntegralOrderService;
+import com.stylefeng.guns.modular.system.service.ISystemNoticeService;
+import com.stylefeng.guns.modular.system.service.IUserInfoService;
+import com.stylefeng.guns.modular.system.util.DateUtil;
+import com.stylefeng.guns.modular.system.util.ResultUtil;
+import com.stylefeng.guns.modular.taxi.service.ITransactionDetailsService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+
+@Service
+public class IntegralOrderServiceImpl extends ServiceImpl<IntegralOrderMapper, IntegralOrder> implements IIntegralOrderService {
+
+    @Resource
+    private IntegralOrderMapper integralOrderMapper;
+
+    @Autowired
+    private IUserInfoService userInfoService;
+
+    @Autowired
+    private IIntegralGoodsService integralGoodsService;
+
+    @Autowired
+    private ISystemNoticeService systemNoticeService;
+
+    @Autowired
+    private ITransactionDetailsService transactionDetailsService;
+
+
+    /**
+     * 保存订单
+     * @param integralOrder
+     * @throws Exception
+     */
+    @Override
+    public ResultUtil addIntegralOrder(IntegralOrder integralOrder,Integer language, Integer uid) throws Exception {
+        IntegralGoods integralGoods = integralGoodsService.selectById(integralOrder.getGoodsId());
+        UserInfo userInfo = userInfoService.selectById(uid);
+        if(integralGoods.getIntegral().compareTo(userInfo.getIntegral()) > 0){
+            return ResultUtil.error(language == 1 ? "兑换失败,积分不足!":(language == 2 ? "Redemption failed, insufficient points!":"Échange échoué, points insuffisants!"));
+        }
+        integralOrder.setInsertTime(new Date());
+        integralOrder.setIntegral(integralGoods.getIntegral());
+        integralOrder.setNum(1);
+        integralOrder.setState(1);
+        integralOrder.setUserId(uid);
+        this.insert(integralOrder);
+
+        userInfo.setIntegral(userInfo.getIntegral() - integralGoods.getIntegral());
+        userInfoService.updateById(userInfo);
+
+        //添加消息
+        if(language == 1){
+            systemNoticeService.addSystemNotice(1, "您使用" + integralGoods.getIntegral() + "积分成功兑换" + integralGoods.getName(), uid, 1);
+        }else if (language == 2){
+            systemNoticeService.addSystemNotice(1, "You redeemed " + integralGoods.getIntegral() + " points for the " + integralGoods.getName() + " successfully", uid, 1);
+        }else {
+            systemNoticeService.addSystemNotice(1, "Vous avez échangé " + integralGoods.getIntegral() + " points avec succès contre le " + integralGoods.getName(), uid, 1);
+        }
+        //添加交易明细
+        transactionDetailsService.saveData(uid, "积分兑换", integralGoods.getIntegral().doubleValue(), 2, 2, 1, 7, integralOrder.getId());
+        return ResultUtil.success();
+    }
+
+    /**
+     * 获取历史记录
+     * @param pageNum
+     * @param size
+     * @param uid
+     * @return
+     * @throws Exception
+     */
+    @Override
+    public List<Map<String, Object>> queryConvertHistory(Integer pageNum, Integer size, Integer uid,Integer language) throws Exception {
+        pageNum = (pageNum - 1) * size;
+        List<Map<String, Object>> list = integralOrderMapper.queryConvertHistory(pageNum, size, uid);
+        for (Map<String, Object> map : list) {
+            if(null != map.get("integral") && !"".equals(map.get("integral"))){
+                String integral = String.valueOf(map.get("integral"));
+                if(language == 1){
+                    integral = integral + "积分";
+                }else{
+                    // 积分的英语与法语翻译一致
+                    integral = integral + " points";
+                }
+                map.put("integral",integral);
+            }
+
+            if(null != map.get("time")){
+                String time = map.get("time").toString();
+                map.put("time", DateUtil.conversionFormat(language, time));
+            }
+
+        }
+        return list;
+    }
+}

--
Gitblit v1.7.1