From 8c55ab2701c99cec16eff92a26fefdf77fcdd28f Mon Sep 17 00:00:00 2001
From: liujie <liujie>
Date: 星期一, 25 九月 2023 16:17:44 +0800
Subject: [PATCH] app接口修改

---
 cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java |   63 +++++++++++++++++++++++++++++++
 1 files changed, 62 insertions(+), 1 deletions(-)

diff --git a/cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java b/cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java
index 75a7ffd..5bcce9e 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java
@@ -1,5 +1,6 @@
 package com.dsh.other.service.impl;
 
+import cn.hutool.core.date.DateUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
@@ -13,10 +14,13 @@
 import com.dsh.other.feignclient.activity.model.Coupon;
 import com.dsh.other.feignclient.activity.model.QueryUserCouponByIdAndUserId;
 import com.dsh.other.feignclient.activity.model.UserCoupon;
+import com.dsh.other.feignclient.model.SiteChangeStateVO;
 import com.dsh.other.mapper.SiteMapper;
 import com.dsh.other.model.*;
 import com.dsh.other.service.*;
 import com.dsh.other.util.*;
+import io.swagger.models.auth.In;
+import org.aspectj.weaver.ast.Var;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -56,6 +60,8 @@
 
     @Autowired
     private PayMoneyUtil payMoneyUtil;
+    @Autowired
+    private SiteMapper siteMapper;
 
 
 
@@ -104,7 +110,29 @@
         querySiteInfoVo.setStoreLon(store.getLon());
         querySiteInfoVo.setStoreLat(store.getLat());
         querySiteInfoVo.setStorePhone(store.getPhone());
+        querySiteInfoVo.setImgs(site.getImgs());
         querySiteInfoVo.setDistance(0D);
+        querySiteInfoVo.setCashPriceOne(site.getCashPriceOne());
+        if(site.getPlayPaiCoinOne()!=null){
+            querySiteInfoVo.setPlayPaiCoinOne(site.getPlayPaiCoinOne().intValue());
+        }
+
+        querySiteInfoVo.setIntroduce(site.getIntroduce());
+        ArrayList<String> nextName = new ArrayList<>();
+        ArrayList<String> halfName = new ArrayList<>();
+        String nextName1 = site.getNextName();
+        String halfName1 = site.getHalfName();
+        querySiteInfoVo.setIshalf(site.getIshalf());
+        String[] split = nextName1.split(",");
+        for (String s : split) {
+            nextName.add(s);
+        }
+        String[] split1 = halfName1.split(",");
+        for (String s : split1) {
+            halfName.add(s);
+        }
+        querySiteInfoVo.setHalfName(halfName);
+        querySiteInfoVo.setNextName(nextName);
         if(ToolUtil.isNotEmpty(lon) && ToolUtil.isNotEmpty(lat)){
             Map<String, Double> distance = GeodesyUtil.getDistance(lon + "," + lat, store.getLon() + "," + store.getLat());
             double wgs84 = new BigDecimal(distance.get("WGS84")).divide(new BigDecimal(1000)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
@@ -133,19 +161,29 @@
         e.setTime(sdf.parse(day + " " + site.getAppointmentEndTime()));
 
         int hour = e.get(Calendar.HOUR_OF_DAY);
+
         int minute = e.get(Calendar.MINUTE);
+
         List<QuerySiteTimes> list = new ArrayList<>();
+
         SimpleDateFormat sdfs = new SimpleDateFormat("HH:mm");
+
         while (true){
+
             String start = sdfs.format(s.getTime());
 
             s.set(Calendar.MINUTE, s.get(Calendar.MINUTE) + 30);
+
             int e_hour = s.get(Calendar.HOUR_OF_DAY);
+
             int e_minute = s.get(Calendar.MINUTE);
+
             String end = sdfs.format(s.getTime());
 
             QuerySiteTimes querySiteTimes = new QuerySiteTimes();
+
             querySiteTimes.setTime(start + "-" + end);
+
             querySiteTimes.setSelectable(1);
 
             SiteBooking siteBooking = siteBookingService.getOne(new QueryWrapper<SiteBooking>().eq("siteId", id).eq("state", 1)
@@ -264,6 +302,11 @@
         siteBooking.setStatus(0);
         siteBooking.setState(1);
         siteBooking.setInsertTime(new Date());
+
+        // 2.0
+        siteBooking.setNextName(reservationSite.getNextName());
+        siteBooking.setIsHalf(reservationSite.getIsHalf());
+        siteBooking.setHalfName(reservationSite.getHalfName());
         siteBookingService.save(siteBooking);
 
         if(reservationSite.getPayType() == 1){//微信支付
@@ -439,7 +482,10 @@
             SiteBooking siteBooking = siteBookingService.getById(queryMySiteVo.getId());
             Site site = this.getById(siteBooking.getSiteId());
             String[] split = siteBooking.getTimes().split(";");
-            queryMySiteVo.setPlayPaiCoin(site.getPlayPaiCoin() * split.length);
+            if(site!=null){
+
+                queryMySiteVo.setPlayPaiCoin(site.getPlayPaiCoin() * split.length);
+            }
         }
         return queryMySiteVos;
     }
@@ -454,6 +500,12 @@
     @Override
     public ResultUtil cancelMySite(Integer uid, Integer id) throws Exception {
         SiteBooking siteBooking = siteBookingService.getById(id);
+
+        SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
+        Date startTime = siteBooking.getStartTime();
+        if(format.format(new Date()).equals(format.format(startTime))){
+            return ResultUtil.error("预约当天,不能取消");
+        }
         if(siteBooking.getStatus() == 0){
             return ResultUtil.error("请先进行支付");
         }
@@ -627,4 +679,13 @@
         map.put("cash", payMoney);
         return ResultUtil.success(map);
     }
+
+    @Override
+    public Object changeState(SiteChangeStateVO vo) {
+
+        List<Integer> siteIds = vo.getSiteIds();
+        Integer type = vo.getType();
+        return siteMapper.changeState(siteIds,type);
+
+    }
 }

--
Gitblit v1.7.1