浏览代码

订单地址

suochencheng 7 年之前
父节点
当前提交
053cb0b467

+ 24 - 1
src/main/java/com/izouma/awesomeadmin/dao/OrderAddressMapper.xml

@@ -15,6 +15,7 @@
                                 <result column="postcode" property="postcode" jdbcType="VARCHAR" />
                                 <result column="address" property="address" jdbcType="VARCHAR" />
                                 <result column="address_detail" property="addressDetail" jdbcType="VARCHAR" />
+                                <result column="user_address_id" property="userAddressId" jdbcType="VARCHAR" />
             </resultMap>
     <sql id="Base_Column_List" >
         <trim  suffixOverrides="," >
@@ -44,6 +45,8 @@
 
             address_detail,
 
+            user_address_id,
+
             </trim>
     </sql>
     <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
@@ -97,6 +100,9 @@
             </if>
                 <if test="addressDetail!= null" >
                 address_detail,
+            </if>
+                <if test="userAddressId!= null" >
+                user_address_id,
             </if>
             </trim>
         <trim prefix="values (" suffix=")" suffixOverrides="," >
@@ -138,6 +144,9 @@
             </if>
                     <if test="addressDetail != null" >
                 #{addressDetail,jdbcType=VARCHAR},
+            </if>
+                    <if test="userAddressId != null" >
+                #{userAddressId,jdbcType=VARCHAR},
             </if>
                 </trim>
     </insert>
@@ -182,6 +191,9 @@
             </if>
                      <if test="addressDetail != null" >
                address_detail= #{addressDetail,jdbcType=VARCHAR},
+            </if>
+                     <if test="userAddressId != null" >
+               user_address_id= #{userAddressId,jdbcType=VARCHAR},
             </if>
                  </set>
         where id = #{id,jdbcType=INTEGER}
@@ -228,6 +240,9 @@
             </if>
                      <if test="record.addressDetail != null and !&quot;&quot;.equals(record.addressDetail)">
                 and  address_detail = #{record.addressDetail}
+            </if>
+                     <if test="record.userAddressId != null and !&quot;&quot;.equals(record.userAddressId)">
+                and  user_address_id = #{record.userAddressId}
             </if>
                   <if test="record.searchKey != null and !&quot;&quot;.equals(record.searchKey)">
              <trim prefix="and (" suffix=")" prefixOverrides="OR" >
@@ -238,6 +253,7 @@
                                                                                                     OR  postcode LIKE concat('%',#{record.searchKey},'%')
                                                                                                     OR  address LIKE concat('%',#{record.searchKey},'%')
                                                                                                     OR  address_detail LIKE concat('%',#{record.searchKey},'%')
+                                                                                                    OR  user_address_id LIKE concat('%',#{record.searchKey},'%')
                                                              </trim>
          </if>
 
@@ -335,6 +351,9 @@
             </if>
                     <if test="addressDetail != null and !&quot;&quot;.equals(addressDetail)">
                 and  address_detail = #{addressDetail}
+            </if>
+                    <if test="userAddressId != null and !&quot;&quot;.equals(userAddressId)">
+                and  user_address_id = #{userAddressId}
             </if>
                     <if test="searchKey != null and !&quot;&quot;.equals(searchKey)">
                 <trim prefix="and (" suffix=")" prefixOverrides="OR" >
@@ -345,6 +364,7 @@
                                                                                                                                                         OR  postcode LIKE concat('%',#{searchKey},'%')
                                                                                                                                                         OR  address LIKE concat('%',#{searchKey},'%')
                                                                                                                                                         OR  address_detail LIKE concat('%',#{searchKey},'%')
+                                                                                                                                                        OR  user_address_id LIKE concat('%',#{searchKey},'%')
                                                                                         </trim>
             </if>
 <if test="advancedQuery != null and !&quot;&quot;.equals(advancedQuery)">
@@ -441,6 +461,9 @@
             </if>
                      <if test="addressDetail != null and !&quot;&quot;.equals(addressDetail)">
                 and address_detail = #{addressDetail}
+            </if>
+                     <if test="userAddressId != null and !&quot;&quot;.equals(userAddressId)">
+                and user_address_id = #{userAddressId}
             </if>
          
         </where>
@@ -456,7 +479,7 @@
         select <include refid="Base_Column_List"/> from order_address
         <where>
             and del_flag = 'N'
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </where>
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </where>
         order by id desc
     </select>
 </mapper>

+ 5 - 0
src/main/java/com/izouma/awesomeadmin/dao/UserOrderMapper.xml

@@ -784,6 +784,11 @@
                      select="com.izouma.awesomeadmin.dao.ProductInfoMapper.queryProductInfo"
                      column="{ id = product_id }"/>
 
+        <association property="orderAddress"
+                     javaType="com.izouma.awesomeadmin.model.OrderAddress"
+                     select="com.izouma.awesomeadmin.dao.OrderAddressMapper.queryOrderAddress"
+                     column="{ orderId = id }"/>
+
     </resultMap>
 
 </mapper>

+ 8 - 0
src/main/java/com/izouma/awesomeadmin/model/OrderAddress.java

@@ -21,6 +21,7 @@ public class OrderAddress{
     private String postcode;
     private String address;
     private String addressDetail;
+    private String userAddressId;
 
 private String searchKey;
 
@@ -125,6 +126,13 @@ private String orderByStr;
     public void setAddressDetail(String addressDetail){
         this.addressDetail = addressDetail;
     }
+    public String getUserAddressId(){
+        return this.userAddressId;
+    }
+
+    public void setUserAddressId(String userAddressId){
+        this.userAddressId = userAddressId;
+    }
 
 public String getSearchKey() {
     return searchKey;

+ 19 - 0
src/main/java/com/izouma/awesomeadmin/model/UserOrder.java

@@ -39,9 +39,12 @@ public class UserOrder {
     private BigDecimal point;
     private BigDecimal cash;
 
+    private String userAddressId;
 
     private ProductInfo productInfo;
 
+    private OrderAddress orderAddress;
+
     private String searchKey;
 
     /**
@@ -309,5 +312,21 @@ public class UserOrder {
     public void setProductInfo(ProductInfo productInfo) {
         this.productInfo = productInfo;
     }
+
+    public String getUserAddressId() {
+        return userAddressId;
+    }
+
+    public void setUserAddressId(String userAddressId) {
+        this.userAddressId = userAddressId;
+    }
+
+    public OrderAddress getOrderAddress() {
+        return orderAddress;
+    }
+
+    public void setOrderAddress(OrderAddress orderAddress) {
+        this.orderAddress = orderAddress;
+    }
 }
 

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

@@ -6,13 +6,12 @@ import java.io.StringReader;
 import java.math.BigDecimal;
 import java.util.*;
 
-import com.izouma.awesomeadmin.dao.AlipayTempMapper;
-import com.izouma.awesomeadmin.dao.UserInfoMapper;
-import com.izouma.awesomeadmin.dao.WxpayTempMapper;
+import com.izouma.awesomeadmin.dao.*;
 import com.izouma.awesomeadmin.dto.Result;
 import com.izouma.awesomeadmin.model.*;
 import com.izouma.awesomeadmin.service.*;
 import com.izouma.awesomeadmin.util.MbappUtil;
+import org.apache.commons.lang.StringUtils;
 import org.apache.log4j.Logger;
 import org.jdom.Element;
 import org.jdom.input.SAXBuilder;
@@ -21,7 +20,6 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.izouma.awesomeadmin.constant.AppConstant;
 import com.izouma.awesomeadmin.dto.Page;
-import com.izouma.awesomeadmin.dao.UserOrderMapper;
 import org.xml.sax.InputSource;
 
 import javax.servlet.http.HttpServletRequest;
@@ -54,6 +52,12 @@ public class UserOrderServiceImpl implements UserOrderService {
     @Autowired
     private AlipayTempMapper alipayTempMapper;
 
+    @Autowired
+    private UserAddressMapper userAddressMapper;
+
+    @Autowired
+    private OrderAddressMapper orderAddressMapper;
+
     @Override
     public List<UserOrder> getUserOrderList(UserOrder record) {
 
@@ -128,8 +132,32 @@ public class UserOrderServiceImpl implements UserOrderService {
                 record.setOffPrice(totlePrice.subtract(dealPrice));
             }
 
+
             int updates = userOrderMapper.insertSelective(record);
 
+
+            if (StringUtils.isNotEmpty(record.getUserAddressId())) {
+                UserAddress userAddress = userAddressMapper.selectByPrimaryKey(Integer.valueOf(record.getUserAddressId()));
+
+                if (userAddress != null) {
+                    OrderAddress orderAddress = new OrderAddress();
+
+                    orderAddress.setOrderId(record.getId());
+                    orderAddress.setUserId(record.getUserId());
+                    orderAddress.setRealName(userAddress.getRealName());
+                    orderAddress.setTelephone(userAddress.getTelephone());
+                    orderAddress.setPostcode(userAddress.getPostcode());
+                    orderAddress.setAddress(userAddress.getAddress());
+                    orderAddress.setAddressDetail(userAddress.getAddressDetail());
+                    orderAddress.setUserAddressId(record.getUserAddressId());
+
+                    orderAddressMapper.insertSelective(orderAddress);
+
+
+                }
+
+            }
+
             if (updates > 0) {
                 return true;
             }

+ 5 - 4
src/main/java/com/izouma/awesomeadmin/web/OrderAddressController.java

@@ -132,10 +132,10 @@ public class OrderAddressController {
         String sheetName = "order_address";
         String titleName = "订单收货地址数据表";
         String fileName = "订单收货地址表";
-        int columnNumber = 13;
-        int[] columnWidth = { 20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20 };
-        String[] columnName = {  "" ,   "删除标识" ,   "更新时间" ,   "更新人" ,   "创建时间" ,   "创建人" ,   "订单ID" ,   "用户ID" ,   "收件人" ,   "电话" ,   "邮编" ,   "地址" ,   "详细地址"  };
-        String[][] dataList = new String[orderAddresss.size()][13];
+        int columnNumber = 14;
+        int[] columnWidth = { 20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20 };
+        String[] columnName = {  "" ,   "删除标识" ,   "更新时间" ,   "更新人" ,   "创建时间" ,   "创建人" ,   "订单ID" ,   "用户ID" ,   "收件人" ,   "电话" ,   "邮编" ,   "地址" ,   "详细地址" ,   "用户地址"  };
+        String[][] dataList = new String[orderAddresss.size()][14];
 
         for (int i = 0; i < orderAddresss.size(); i++) {
 
@@ -152,6 +152,7 @@ public class OrderAddressController {
                         dataList[i][10] = String.valueOf(orderAddresss.get(i).getPostcode());
                         dataList[i][11] = String.valueOf(orderAddresss.get(i).getAddress());
                         dataList[i][12] = String.valueOf(orderAddresss.get(i).getAddressDetail());
+                        dataList[i][13] = String.valueOf(orderAddresss.get(i).getUserAddressId());
                     }