suochencheng 6 ani în urmă
părinte
comite
2e313b6aa4

Fișier diff suprimat deoarece este prea mare
+ 46 - 0
src/main/java/com/izouma/awesomeadmin/dao/UserPackageMapper.xml


+ 9 - 0
src/main/java/com/izouma/awesomeadmin/dto/tuniu/Order.java

@@ -157,6 +157,7 @@ public class Order {
 
     private String canCancel;
 
+    private String productName;
 
 
     public String getSourceOrderId() {
@@ -366,5 +367,13 @@ public class Order {
     public void setCanCancel(String canCancel) {
         this.canCancel = canCancel;
     }
+
+    public String getProductName() {
+        return productName;
+    }
+
+    public void setProductName(String productName) {
+        this.productName = productName;
+    }
 }
 

+ 117 - 71
src/main/java/com/izouma/awesomeadmin/model/UserPackage.java

@@ -1,13 +1,15 @@
 package com.izouma.awesomeadmin.model;
 
 import java.util.*;
+
 import com.fasterxml.jackson.annotation.JsonAutoDetect;
 import com.fasterxml.jackson.annotation.JsonInclude;
+import com.izouma.awesomeadmin.dto.tuniu.Order;
 
 
 @JsonAutoDetect
 @JsonInclude(JsonInclude.Include.NON_NULL)
-public class UserPackage{
+public class UserPackage {
     private Integer id;
     private String delFlag;
     private Date updateTime;
@@ -26,179 +28,223 @@ public class UserPackage{
     private String landMarkId;
     private String showFlag;
     private Date checkTime;
+    private String checkUser;
+    private String remark;
+
+    private String idStr;
 
-private String idStr;
+    private String searchKey;
 
-private String searchKey;
+    /**
+     * and,test_name,like,value;or,remark,=,123
+     */
+    private String advancedQuery;
 
-/**
-* and,test_name,like,value;or,remark,=,123
-*/
-private String advancedQuery;
+    /**
+     * column_name_,desc_;column_name_,asc
+     */
+    private String orderByStr;
 
-/**
-* column_name_,desc_;column_name_,asc
-*/
-private String orderByStr;
+    private Order tuniuOrder;
 
-    public Integer getId(){
+    public Integer getId() {
         return this.id;
     }
 
-    public void setId(Integer id){
+    public void setId(Integer id) {
         this.id = id;
     }
-    public String getDelFlag(){
+
+    public String getDelFlag() {
         return this.delFlag;
     }
 
-    public void setDelFlag(String delFlag){
+    public void setDelFlag(String delFlag) {
         this.delFlag = delFlag;
     }
-    public Date getUpdateTime(){
+
+    public Date getUpdateTime() {
         return this.updateTime;
     }
 
-    public void setUpdateTime(Date updateTime){
+    public void setUpdateTime(Date updateTime) {
         this.updateTime = updateTime;
     }
-    public String getUpdateUser(){
+
+    public String getUpdateUser() {
         return this.updateUser;
     }
 
-    public void setUpdateUser(String updateUser){
+    public void setUpdateUser(String updateUser) {
         this.updateUser = updateUser;
     }
-    public Date getCreateTime(){
+
+    public Date getCreateTime() {
         return this.createTime;
     }
 
-    public void setCreateTime(Date createTime){
+    public void setCreateTime(Date createTime) {
         this.createTime = createTime;
     }
-    public String getCreateUser(){
+
+    public String getCreateUser() {
         return this.createUser;
     }
 
-    public void setCreateUser(String createUser){
+    public void setCreateUser(String createUser) {
         this.createUser = createUser;
     }
-    public Integer getTypeFlag(){
+
+    public Integer getTypeFlag() {
         return this.typeFlag;
     }
 
-    public void setTypeFlag(Integer typeFlag){
+    public void setTypeFlag(Integer typeFlag) {
         this.typeFlag = typeFlag;
     }
-    public String getName(){
+
+    public String getName() {
         return this.name;
     }
 
-    public void setName(String name){
+    public void setName(String name) {
         this.name = name;
     }
-    public String getOrderId(){
+
+    public String getOrderId() {
         return this.orderId;
     }
 
-    public void setOrderId(String orderId){
+    public void setOrderId(String orderId) {
         this.orderId = orderId;
     }
-    public String getTuniuOrderId(){
+
+    public String getTuniuOrderId() {
         return this.tuniuOrderId;
     }
 
-    public void setTuniuOrderId(String tuniuOrderId){
+    public void setTuniuOrderId(String tuniuOrderId) {
         this.tuniuOrderId = tuniuOrderId;
     }
-    public String getProductId(){
+
+    public String getProductId() {
         return this.productId;
     }
 
-    public void setProductId(String productId){
+    public void setProductId(String productId) {
         this.productId = productId;
     }
-    public String getCheckCode(){
+
+    public String getCheckCode() {
         return this.checkCode;
     }
 
-    public void setCheckCode(String checkCode){
+    public void setCheckCode(String checkCode) {
         this.checkCode = checkCode;
     }
-    public Integer getStatusFlag(){
+
+    public Integer getStatusFlag() {
         return this.statusFlag;
     }
 
-    public void setStatusFlag(Integer statusFlag){
+    public void setStatusFlag(Integer statusFlag) {
         this.statusFlag = statusFlag;
     }
-    public Date getLimitTime(){
+
+    public Date getLimitTime() {
         return this.limitTime;
     }
 
-    public void setLimitTime(Date limitTime){
+    public void setLimitTime(Date limitTime) {
         this.limitTime = limitTime;
     }
-    public String getUserId(){
+
+    public String getUserId() {
         return this.userId;
     }
 
-    public void setUserId(String userId){
+    public void setUserId(String userId) {
         this.userId = userId;
     }
-    public String getLandMarkId(){
+
+    public String getLandMarkId() {
         return this.landMarkId;
     }
 
-    public void setLandMarkId(String landMarkId){
+    public void setLandMarkId(String landMarkId) {
         this.landMarkId = landMarkId;
     }
-    public String getShowFlag(){
+
+    public String getShowFlag() {
         return this.showFlag;
     }
 
-    public void setShowFlag(String showFlag){
+    public void setShowFlag(String showFlag) {
         this.showFlag = showFlag;
     }
-    public Date getCheckTime(){
+
+    public Date getCheckTime() {
         return this.checkTime;
     }
 
-    public void setCheckTime(Date checkTime){
+    public void setCheckTime(Date checkTime) {
         this.checkTime = checkTime;
     }
 
-public String getSearchKey() {
-    return searchKey;
-}
+    public String getCheckUser() {
+        return this.checkUser;
+    }
 
-public void setSearchKey(String searchKey) {
-    this.searchKey = searchKey;
-}
+    public void setCheckUser(String checkUser) {
+        this.checkUser = checkUser;
+    }
 
-public String getAdvancedQuery() {
-    return advancedQuery;
-}
+    public String getRemark() {
+        return this.remark;
+    }
 
-public void setAdvancedQuery(String advancedQuery) {
-    this.advancedQuery = advancedQuery;
-}
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
 
-public String getOrderByStr() {
-    return orderByStr;
-}
+    public String getSearchKey() {
+        return searchKey;
+    }
 
-public void setOrderByStr(String orderByStr) {
-    this.orderByStr = orderByStr;
-}
+    public void setSearchKey(String searchKey) {
+        this.searchKey = searchKey;
+    }
 
-public String getIdStr() {
-    return idStr;
-}
+    public String getAdvancedQuery() {
+        return advancedQuery;
+    }
 
-public void setIdStr(String idStr) {
-    this.idStr = idStr;
-}
+    public void setAdvancedQuery(String advancedQuery) {
+        this.advancedQuery = advancedQuery;
+    }
 
+    public String getOrderByStr() {
+        return orderByStr;
+    }
+
+    public void setOrderByStr(String orderByStr) {
+        this.orderByStr = orderByStr;
+    }
+
+    public String getIdStr() {
+        return idStr;
+    }
+
+    public void setIdStr(String idStr) {
+        this.idStr = idStr;
+    }
+
+    public Order getTuniuOrder() {
+        return tuniuOrder;
+    }
+
+    public void setTuniuOrder(Order tuniuOrder) {
+        this.tuniuOrder = tuniuOrder;
+    }
 }
 

+ 24 - 4
src/main/java/com/izouma/awesomeadmin/service/impl/UserOrderServiceImpl.java

@@ -7,6 +7,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.google.gson.Gson;
 import com.izouma.awesomeadmin.dao.AlipayTempMapper;
 import com.izouma.awesomeadmin.dao.NavigationPackageMapper;
+import com.izouma.awesomeadmin.dao.UserPackageMapper;
 import com.izouma.awesomeadmin.dto.Result;
 import com.izouma.awesomeadmin.dto.tuniu.Order;
 import com.izouma.awesomeadmin.model.*;
@@ -55,6 +56,9 @@ public class UserOrderServiceImpl implements UserOrderService {
     @Autowired
     private AlipayTempMapper alipayTempMapper;
 
+    @Autowired
+    private UserPackageMapper userPackageMapper;
+
     @Override
     public List<UserOrder> getUserOrderList(UserOrder record) {
 
@@ -372,6 +376,10 @@ public class UserOrderServiceImpl implements UserOrderService {
                 return new Result(false, "支付失败,订单不存在");
             }
 
+            if (userOrder.getStatusFlag() != AppConstant.OrderStatus.NO_PAY) {
+                return new Result(false, "支付失败,订单不是未支付状态");
+            }
+
 
             double money = userOrder.getDealPrice().doubleValue();
 
@@ -424,10 +432,6 @@ public class UserOrderServiceImpl implements UserOrderService {
                             return new Result(false, "支付失败 订单价格小于途牛");
                         }
 
-                        // 请求的接口地址
-                        String url = "Ticket/createOrderNew";
-
-
                         String result = TicketUtil.submitOrder(Integer.valueOf(userOrder.getTuniuOrderId()), 1, tuniuOrder.getAmoutPrice(), "10001");
 
                         JSONObject resultJson = JSONObject.parseObject(result);
@@ -502,6 +506,22 @@ public class UserOrderServiceImpl implements UserOrderService {
             userOrderMapper.updateByPrimaryKeySelective(userOrderPay);
 
 
+            if (AppConstant.OrderType.PRODUCT == userOrder.getTypeFlag()) {
+                if (StringUtils.isNotBlank(userOrder.getTuniuOrderId())) {
+                    UserPackage userPackage = new UserPackage();
+                    userPackage.setTypeFlag(AppConstant.ProductType.TICKET);
+                    userPackage.setName(userOrder.getTuniuOrder().getProductName());
+                    userPackage.setOrderId(userOrder.getId() + "");
+                    userPackage.setTuniuOrderId(userOrder.getTuniuOrderId());
+                    userPackage.setProductId(userOrder.getProductId() + "");
+                    userPackage.setUserId(userOrder.getUserId() + "");
+                    userPackage.setLandMarkId(userOrder.getLankMarkId() + "");
+                    userPackage.setCreateUser("下单完成加入背包");
+
+                    userPackageMapper.insertSelective(userPackage);
+
+                }
+            }
             return new Result(true, "支付成功");
         } catch (Exception e) {
             logger.error("payOrder:支付订单异常", e);

+ 39 - 19
src/main/java/com/izouma/awesomeadmin/service/impl/UserPackageServiceImpl.java

@@ -1,6 +1,11 @@
 package com.izouma.awesomeadmin.service.impl;
 
 import java.util.*;
+
+import com.alibaba.fastjson.JSONObject;
+import com.izouma.awesomeadmin.dto.tuniu.Order;
+import com.izouma.awesomeadmin.tuniu.util.TicketUtil;
+import org.apache.commons.lang.StringUtils;
 import org.apache.log4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -11,10 +16,10 @@ import com.izouma.awesomeadmin.service.UserPackageService;
 import com.izouma.awesomeadmin.dao.UserPackageMapper;
 
 /**
-*  service接口实现类
-*/
+ * service接口实现类
+ */
 @Service
-public class UserPackageServiceImpl implements UserPackageService{
+public class UserPackageServiceImpl implements UserPackageService {
 
     private static Logger logger = Logger.getLogger(UserPackageServiceImpl.class);
 
@@ -27,26 +32,27 @@ public class UserPackageServiceImpl implements UserPackageService{
         logger.info("getUserPackageList");
         try {
 
-        return userPackageMapper.queryAllUserPackage(record);
+            return userPackageMapper.queryAllUserPackage(record);
         } catch (Exception e) {
-        logger.error("getUserPackageList", e);
+            logger.error("getUserPackageList", e);
         }
 
         return null;
     }
+
     @Override
     public List<UserPackage> getUserPackageByPage(Page page, UserPackage record) {
 
         logger.info("getUserPackageByPage");
         try {
 
-        Map<String, Object> parameter = new HashMap<String, Object>();
-        parameter.put("record", record);
-        parameter.put(AppConstant.PAGE, page);
+            Map<String, Object> parameter = new HashMap<String, Object>();
+            parameter.put("record", record);
+            parameter.put(AppConstant.PAGE, page);
 
-        return userPackageMapper.queryUserPackageByPage(parameter);
+            return userPackageMapper.queryUserPackageByPage(parameter);
         } catch (Exception e) {
-        logger.error("getUserPackageByPage", e);
+            logger.error("getUserPackageByPage", e);
         }
 
         return null;
@@ -60,7 +66,7 @@ public class UserPackageServiceImpl implements UserPackageService{
 
             return userPackageMapper.selectByPrimaryKey(Integer.valueOf(id));
         } catch (Exception e) {
-        logger.error("getUserPackageById", e);
+            logger.error("getUserPackageById", e);
         }
 
         return null;
@@ -72,9 +78,23 @@ public class UserPackageServiceImpl implements UserPackageService{
         logger.info("getUserPackage");
         try {
 
-            return userPackageMapper.queryUserPackage(record);
+            UserPackage userPackage = userPackageMapper.queryUserPackage(record);
+
+            if (StringUtils.isNotBlank(userPackage.getTuniuOrderId())) {
+
+                String result = TicketUtil.orderDetail(userPackage.getTuniuOrderId());
+
+                JSONObject resultJson = JSONObject.parseObject(result);
+                if (resultJson.getBoolean("success")) {
+                    JSONObject data = resultJson.getJSONObject("data");
+                    JSONObject orderInfoJson = data.getJSONObject("orderInfo");
+                    userPackage.setTuniuOrder(JSONObject.toJavaObject(orderInfoJson, Order.class));
+                }
+            }
+
+            return userPackage;
         } catch (Exception e) {
-        logger.error("getUserPackage", e);
+            logger.error("getUserPackage", e);
         }
 
         return null;
@@ -89,7 +109,7 @@ public class UserPackageServiceImpl implements UserPackageService{
             int updates = userPackageMapper.insertSelective(record);
 
             if (updates > 0) {
-                 return true;
+                return true;
             }
         } catch (Exception e) {
             logger.error("createUserPackage", e);
@@ -104,13 +124,13 @@ public class UserPackageServiceImpl implements UserPackageService{
         logger.info("deleteUserPackage");
         try {
 
-             int updates = userPackageMapper.delete(record);
+            int updates = userPackageMapper.delete(record);
 
             if (updates > 0) {
-                 return true;
+                return true;
             }
         } catch (Exception e) {
-             logger.error("deleteUserPackage", e);
+            logger.error("deleteUserPackage", e);
         }
 
         return false;
@@ -125,10 +145,10 @@ public class UserPackageServiceImpl implements UserPackageService{
             int updates = userPackageMapper.updateByPrimaryKeySelective(record);
 
             if (updates > 0) {
-                 return true;
+                return true;
             }
         } catch (Exception e) {
-             logger.error("updateUserPackage", e);
+            logger.error("updateUserPackage", e);
         }
 
         return false;

+ 6 - 4
src/main/java/com/izouma/awesomeadmin/web/UserPackageController.java

@@ -132,10 +132,10 @@ public class UserPackageController {
         String sheetName = "user_package";
         String titleName = "用户背包数据表";
         String fileName = "用户背包表";
-        int columnNumber = 18;
-        int[] columnWidth = { 20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20 };
-        String[] columnName = {  "id" ,   "删除标识" ,   "更新时间" ,   "更新人" ,   "创建时间" ,   "创建人" ,   "类型" ,   "名称" ,   "订单Id" ,   "途牛订单" ,   "商品Id" ,   "验证码" ,   "状态" ,   "有效期" ,   "用户" ,   "地标Id" ,   "显示" ,   "核销时间"  };
-        String[][] dataList = new String[userPackages.size()][18];
+        int columnNumber = 20;
+        int[] columnWidth = { 20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20 };
+        String[] columnName = {  "id" ,   "删除标识" ,   "更新时间" ,   "更新人" ,   "创建时间" ,   "创建人" ,   "类型" ,   "名称" ,   "订单Id" ,   "途牛订单" ,   "商品Id" ,   "验证码" ,   "状态" ,   "有效期" ,   "用户" ,   "地标Id" ,   "显示" ,   "核销时间" ,   "核销人" ,   "备注"  };
+        String[][] dataList = new String[userPackages.size()][20];
 
         for (int i = 0; i < userPackages.size(); i++) {
 
@@ -157,6 +157,8 @@ public class UserPackageController {
                         dataList[i][15] = String.valueOf(userPackages.get(i).getLandMarkId());
                         dataList[i][16] = String.valueOf(userPackages.get(i).getShowFlag());
                         dataList[i][17] = String.valueOf(userPackages.get(i).getCheckTime());
+                        dataList[i][18] = String.valueOf(userPackages.get(i).getCheckUser());
+                        dataList[i][19] = String.valueOf(userPackages.get(i).getRemark());
                     }
 
 

+ 10 - 4
src/main/vue/src/pages/UserPackage.vue

@@ -37,6 +37,12 @@
             </el-form-item>
                                                                                                                                                                                                                                                                                                                             <el-form-item prop="checkTime" label="核销时间">
                 <el-input v-model="formData.checkTime" :disabled="'checkTime'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="checkUser" label="核销人">
+                <el-input v-model="formData.checkUser" :disabled="'checkUser'==subColumn"></el-input>
+            </el-form-item>
+                                                                                                                                                                                                                                                                                                                            <el-form-item prop="remark" label="备注">
+                <el-input v-model="formData.remark" :disabled="'remark'==subColumn"></el-input>
             </el-form-item>
                                                                                                                                                                                                                                                                                         <el-form-item>
                 <el-button @click="onSave" :loading="$store.state.fetchingData" type="primary">保存</el-button>
@@ -65,7 +71,7 @@
                 }).then(res => {
                     if (res.success) {
 
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
                         this.formData = res.data;
 
                     if (this.$route.query.column) {
@@ -79,14 +85,14 @@
                 }
             }
 
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            },
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    },
         data() {
             return {
                 saving: false,
                 formData: {},
                 rules: {
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            },
-                                                                                                                                                            subColumn: '',
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    },
+                                                                                                                                                                            subColumn: '',
             subValue: '',
         }
         },

+ 32 - 0
src/main/vue/src/pages/UserPackages.vue

@@ -127,6 +127,20 @@
                                 label="核销时间"
                                 min-width="100">
                         </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('checkUser')"
+                                prop="checkUser"
+                                label="核销人"
+                                min-width="100">
+                        </el-table-column>
+                                                                
+                                            <el-table-column
+                                v-if="isColumnShow('remark')"
+                                prop="remark"
+                                label="备注"
+                                min-width="100">
+                        </el-table-column>
                                                             <el-table-column
                     label="操作"
                     align="center"
@@ -328,6 +342,16 @@
                                 label: '核销时间',
                                 value: 'checkTime',
                                 show: true
+                            },
+                                                                                                {
+                                label: '核销人',
+                                value: 'checkUser',
+                                show: true
+                            },
+                                                                                                {
+                                label: '备注',
+                                value: 'remark',
+                                show: true
                             },
                                                             ],
                 multipleMode: false,
@@ -384,6 +408,14 @@
                                                                                                 {
                                 label: '核销时间',
                                 value: 'check_time'
+                            },
+                                                                                                {
+                                label: '核销人',
+                                value: 'check_user'
+                            },
+                                                                                                {
+                                label: '备注',
+                                value: 'remark'
                             },
                                                             ],
                 advancedQuerySearchKey: '',

+ 1 - 1
src/main/webapp/WEB-INF/html/admin.html

@@ -1 +1 @@
-<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=referrer content=origin><title>管理后台</title><link rel=icon href=/static/favicon.ico><script src=/static/polyfill.min.js></script><script src=/static/fontawesome-v5.2.0.js></script><link href=/static/css/admin.29b5b298e697b52006678afbc3cdfe1d.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=/static/js/manifest.023cad1c26343dd67a84.js></script><script type=text/javascript src=/static/js/vendor.88b0e87da7ef33361a62.js></script><script type=text/javascript src=/static/js/admin.8ae21f16e8d74b39215c.js></script></body></html>
+<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=referrer content=origin><title>管理后台</title><link rel=icon href=/static/favicon.ico><script src=/static/polyfill.min.js></script><script src=/static/fontawesome-v5.2.0.js></script><link href=/static/css/admin.29b5b298e697b52006678afbc3cdfe1d.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=/static/js/manifest.cf579f4333339a6100ce.js></script><script type=text/javascript src=/static/js/vendor.63bd2210bd34a6f1a686.js></script><script type=text/javascript src=/static/js/admin.c508798f0b6c13991258.js></script></body></html>

+ 1 - 1
src/main/webapp/WEB-INF/html/loginAdmin.html

@@ -1 +1 @@
-<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=referrer content=origin><title>管理后台</title><link rel=icon href=/static/favicon.ico><script src=/static/polyfill.min.js></script><link href=/static/css/loginAdmin.46a5161090cd0d8998f220733fc576f0.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=/static/js/manifest.023cad1c26343dd67a84.js></script><script type=text/javascript src=/static/js/vendor.88b0e87da7ef33361a62.js></script><script type=text/javascript src=/static/js/loginAdmin.2365ffe2667c728372ee.js></script></body></html>
+<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=referrer content=origin><title>管理后台</title><link rel=icon href=/static/favicon.ico><script src=/static/polyfill.min.js></script><link href=/static/css/loginAdmin.46a5161090cd0d8998f220733fc576f0.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=/static/js/manifest.cf579f4333339a6100ce.js></script><script type=text/javascript src=/static/js/vendor.63bd2210bd34a6f1a686.js></script><script type=text/javascript src=/static/js/loginAdmin.92bea3e4f526a6f1f18a.js></script></body></html>

Unele fișiere nu au fost afișate deoarece prea multe fișiere au fost modificate în acest diff