|
@@ -15,27 +15,25 @@ import com.miaxis.common.utils.SecurityUtils;
|
|
|
import com.miaxis.common.utils.uuid.CommonUtils;
|
|
|
import com.miaxis.feign.dto.FilmDTO;
|
|
|
import com.miaxis.film.domain.FilmOrder;
|
|
|
-import com.miaxis.film.dto.*;
|
|
|
+import com.miaxis.film.dto.CinemaData;
|
|
|
+import com.miaxis.film.dto.FilmOrderCreateDTO;
|
|
|
+import com.miaxis.film.dto.FilmOrderJsonData;
|
|
|
+import com.miaxis.film.dto.FilmOrderListDTO;
|
|
|
import com.miaxis.film.service.IFilmOrderService;
|
|
|
-import com.miaxis.question.domain.QuestionInfo;
|
|
|
import com.miaxis.system.service.ISysConfigService;
|
|
|
import com.miaxis.system.service.ISysDictDataService;
|
|
|
import io.swagger.annotations.*;
|
|
|
-import lombok.Data;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.lang.RandomStringUtils;
|
|
|
import org.apache.http.HttpResponse;
|
|
|
import org.apache.http.client.HttpClient;
|
|
|
-import org.apache.http.client.methods.HttpGet;
|
|
|
import org.apache.http.client.methods.HttpPost;
|
|
|
import org.apache.http.entity.StringEntity;
|
|
|
import org.apache.http.util.EntityUtils;
|
|
|
-import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.core.io.ClassPathResource;
|
|
|
-import org.springframework.security.access.prepost.PreAuthorize;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
import java.io.ByteArrayOutputStream;
|
|
@@ -117,7 +115,6 @@ public class FilmController extends BaseController {
|
|
|
HttpPost httpPost = new HttpPost(wxpayConfig.getV3url());
|
|
|
httpPost.addHeader("Accept", "application/json");
|
|
|
httpPost.addHeader("Content-type","application/json; charset=utf-8");
|
|
|
-
|
|
|
ByteArrayOutputStream bos = new ByteArrayOutputStream();
|
|
|
ObjectMapper objectMapper = new ObjectMapper();
|
|
|
UserInfo student = SecurityUtils.getLoginUser().getStudent();
|
|
@@ -135,7 +132,7 @@ public class FilmController extends BaseController {
|
|
|
filmOrderCreateDTO.setThirdOrderId(orderCode);
|
|
|
filmOrderJsonData.setFilmOrderCreateDTO(filmOrderCreateDTO);
|
|
|
//通过影院api 获取单票价格
|
|
|
- Integer price = getPrice(filmOrderCreateDTO.getCinemaId(),filmOrderCreateDTO.getShowId(),filmOrderJsonData);
|
|
|
+ Integer price = getPrice(filmOrderCreateDTO.getCinemaId(),filmOrderCreateDTO.getShowId(),filmOrderCreateDTO.getTicketType(),filmOrderJsonData);
|
|
|
int number = filmOrderCreateDTO.getSeat().split(",").length;
|
|
|
order.setOrderDataJson(JSONObject.toJSONString(filmOrderJsonData));
|
|
|
order.setTotal(price*number);
|
|
@@ -197,7 +194,7 @@ public class FilmController extends BaseController {
|
|
|
|
|
|
|
|
|
|
|
|
- private Integer getPrice(String cinemaId, String showId, FilmOrderJsonData filmOrderJsonData) {
|
|
|
+ private Integer getPrice(String cinemaId, String showId, int ticketType, FilmOrderJsonData filmOrderJsonData) {
|
|
|
|
|
|
FilmDTO filmDTO = new FilmDTO();
|
|
|
filmDTO.setUrl("movieapi/movie-info/get-schedule-list");
|
|
@@ -215,14 +212,22 @@ public class FilmController extends BaseController {
|
|
|
CinemaData realCinemaData = listdata.get(0);
|
|
|
filmOrderJsonData.setCinemaData(realCinemaData);
|
|
|
Integer netPrice = realCinemaData.getNetPrice();
|
|
|
- Double upDiscountRate = discountRule.getDouble("upDiscountRate");
|
|
|
- Double downDiscountRate = discountRule.getDouble("downDiscountRate");
|
|
|
- String film_discount = configService.selectConfigByKey("film_discount");
|
|
|
- Double chosenDiscount = netPrice >3900 ? upDiscountRate:downDiscountRate;
|
|
|
- Double aDouble = Double.valueOf(film_discount);
|
|
|
- Double v = netPrice * chosenDiscount * aDouble;
|
|
|
-
|
|
|
- return v.intValue();
|
|
|
+ Integer realValue =0;
|
|
|
+ if (ticketType == 1){
|
|
|
+ Double upDiscountRate = discountRule.getDouble("upDiscountRate");
|
|
|
+ Double downDiscountRate = discountRule.getDouble("downDiscountRate");
|
|
|
+ String film_discount = configService.selectConfigByKey("film_discount");
|
|
|
+ Double chosenDiscount = netPrice >3900 ? upDiscountRate:downDiscountRate;
|
|
|
+ Double aDouble = Double.valueOf(film_discount);
|
|
|
+ Double dDouble = netPrice * chosenDiscount * aDouble;
|
|
|
+ realValue = dDouble.intValue();
|
|
|
+ }else if (ticketType == 2){
|
|
|
+ realValue = netPrice;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ return realValue;
|
|
|
|
|
|
|
|
|
}
|