Просмотр исходного кода

1.订单添加商品金额字段

qmj 1 месяц назад
Родитель
Сommit
ad75f6df8e

+ 7 - 5
ruoyi-admin/src/main/java/com/ruoyi/app/order/PosOrderController.java

@@ -271,11 +271,13 @@ public class PosOrderController extends BaseController {
                         queryWrapper.eq("type", "3");
                         queryWrapper.eq("state", "3");
                         UserBilling foot = userBillingService.getOne(queryWrapper);
-                        foot.setState("0");
-                        foot.setIllustrate("Rider Payment Order");
-                        foot.setBalancePay("1");
-                        foot.setPaymentId(String.valueOf(id));
-                        userBillingService.saveOrUpdate(foot);
+                        if (foot != null) {
+                            foot.setState("0");
+                            foot.setIllustrate("Rider Payment Order");
+                            foot.setBalancePay("1");
+                            foot.setPaymentId(String.valueOf(id));
+                            userBillingService.saveOrUpdate(foot);
+                        }
                     }
                     InfoUser user = infoUserService.getById(orst.getUserId());
                     InfoUser shu = infoUserService.getById(orst.getShId());

+ 15 - 6
ruoyi-admin/src/main/java/com/ruoyi/app/order/UserOrderController.java

@@ -98,7 +98,9 @@ public class UserOrderController extends BaseController {
         }
         String ddId = input.getDdId().toString();
         List<Long> mdIdList = input.getItems().stream().map(OrderCreatItem::getMdId).collect(Collectors.toList());
-        List<PosStore> storeList = posStoreService.list(new LambdaQueryWrapper<PosStore>().in(PosStore::getId, mdIdList));
+        // 将Long类型的门店ID转换为Integer类型用于查询(因为PosStore.getId()返回Integer)
+        List<Integer> mdIdIntegerList = mdIdList.stream().map(Long::intValue).collect(Collectors.toList());
+        List<PosStore> storeList = posStoreService.list(new LambdaQueryWrapper<PosStore>().in(PosStore::getId, mdIdIntegerList));
         LambdaQueryWrapper<OperatingHours> wrapper = new LambdaQueryWrapper<>();
         wrapper.in(OperatingHours::getMdId, mdIdList);
         List<OperatingHours> hourslist = operatingHoursService.list(wrapper);
@@ -139,12 +141,16 @@ public class UserOrderController extends BaseController {
             posOrder.setFreight(item.getFreight());
             posOrder.setShdzId(input.getShdzId());
             posOrder.setShAddress(shdz);
-           Optional<PosStore> store= storeList.stream().filter(x-> item.getMdId().equals(x.getId())).findFirst();
-           if (!store.isPresent()) {
+            posOrder.setFoodAmount(item.getFoodAmount());
+           Optional<PosStore> storeOptional = storeList.stream()
+                   .filter(x -> item.getMdId().equals(Long.valueOf(x.getId())))
+                   .findFirst();
+           if (storeOptional.isEmpty()) {
                throw new ServiceException(MessageUtils.message("no.mendian.not.exist"));
            }
-            posOrder.setLongitude(store.get().getLongitude());
-            posOrder.setLatitude(store.get().getLatitude());
+           PosStore store = storeOptional.get();
+            posOrder.setLongitude(store.getLongitude());
+            posOrder.setLatitude(store.getLatitude());
             //设置订单分类
             storeList.stream().filter(s -> Long.valueOf(s.getId()).equals(item.getMdId())).findFirst().ifPresent(st -> {
                 posOrder.setOrderCategory(String.valueOf(st.getType()));
@@ -158,7 +164,10 @@ public class UserOrderController extends BaseController {
      */
     private void checkStoreOpen( List<PosStore> storeList,List<OperatingHours> hourslist, OrderCreatItem item, DateUtil dateUtil) {
         List<OperatingHours> storeHourslist = hourslist.stream().filter(x-> x.getMdId().equals(item.getMdId())).collect(Collectors.toList());
-        PosStore store = storeList.stream().filter(x-> Long.valueOf(x.getId()).equals(item.getMdId())).findFirst().get();
+        PosStore store = storeList.stream()
+                .filter(x -> Long.valueOf(x.getId()).equals(item.getMdId()))
+                .findFirst()
+                .orElseThrow(() -> new ServiceException(MessageUtils.message("no.mendian.not.exist")));
         if (storeHourslist.isEmpty()) {
             throw new ServiceException(store.getPosName()+MessageUtils.message("no.mendian.not.set.business.hours"));
         }

+ 5 - 0
ruoyi-admin/src/main/java/com/ruoyi/app/order/dto/OrderCreatItem.java

@@ -36,6 +36,11 @@ public class OrderCreatItem {
     /** 订单商品 */
 
     private Object food;
+
+    /**
+     *  商品金额
+     */
+    private Integer foodAmount;
     /** 门店logo */
     private String logo;
     /** 门店名称 */

+ 5 - 0
ruoyi-system/src/main/java/com/ruoyi/system/domain/PosOrder.java

@@ -297,5 +297,10 @@ public class PosOrder {
      */
     private String posName;
 
+    /**
+     *  商品总金额
+     */
+    private Integer foodAmount;
+
 
 }

+ 5 - 1
ruoyi-system/src/main/resources/mapper/system/PosOrderMapper.xml

@@ -49,10 +49,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="tableNum" column="table_num" />
         <result property="logo" column="logo" />
         <result property="posName" column="pos_name" />
+        <result property="foodAmount" column="food_amount" />
     </resultMap>
 
     <sql id="selectPosOrderVo">
-        select id, dd_id, sh_id, md_id, cretim, shdz_id, user_id,sh_address, amount, remarks, state, type, delry_time,food,yh_id,yh_name,md_yh_id,md_yh_name,md_discount_amount,jvli,freight,dining_status,qs_id,pay_url,collect_payment,activity,md_activity,kefu_state,kefu_content,kefu_repeat,repeat_dd_id,sales_name,md_sales_name,sales_reduction,md_sales_reduction,points,points_reduction,sd_time,pay_type,parent_dd_id,order_category,table_num,logo,pos_name from pos_order
+        select id, dd_id, sh_id, md_id, cretim, shdz_id, user_id,sh_address, amount, remarks, state, type, delry_time,food,yh_id,yh_name,md_yh_id,md_yh_name,md_discount_amount,jvli,freight,dining_status,qs_id,pay_url,collect_payment,activity,md_activity,kefu_state,kefu_content,kefu_repeat,repeat_dd_id,sales_name,md_sales_name,sales_reduction,md_sales_reduction,points,points_reduction,sd_time,pay_type,parent_dd_id,order_category,table_num,logo,pos_name,food_amount from pos_order
     </sql>
 
     <select id="selectPosOrderList" parameterType="PosOrder" resultMap="PosOrderResult">
@@ -170,6 +171,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="tableNum != null and tableNum != ''">table_num,</if>
             <if test="logo != null and logo != ''">logo,</if>
             <if test="posName != null and posName != ''">pos_name,</if>
+            <if test="foodAmount != null">food_amount,</if>
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="ddId != null">#{ddId},</if>
@@ -202,6 +204,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="tableNum != null and tableNum != ''">#{tableNum},</if>
             <if test="logo != null and logo != ''">#{logo},</if>
             <if test="posName != null and posName != ''">#{posName},</if>
+            <if test="foodAmount != null">#{foodAmount},</if>
          </trim>
     </insert>
 
@@ -240,6 +243,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="tableNum != null and tableNum != ''">table_num = #{tableNum},</if>
             <if test="logo != null and logo != ''">logo = #{logo},</if>
             <if test="posName != null and posName != ''">pos_name = #{posName},</if>
+            <if test="foodAmount != null">food_amount = #{foodAmount},</if>
         </trim>
         where id = #{id}
     </update>