|
18 | 18 | package ru.mystamps.web.controller;
|
19 | 19 |
|
20 | 20 | import java.io.IOException;
|
| 21 | +import java.util.Date; |
21 | 22 | import java.util.Locale;
|
22 | 23 |
|
23 | 24 | import javax.servlet.http.HttpServletRequest;
|
|
40 | 41 | import ru.mystamps.web.Url;
|
41 | 42 | import ru.mystamps.web.controller.converter.annotation.CurrentUser;
|
42 | 43 | import ru.mystamps.web.controller.dto.ImportSeriesForm;
|
| 44 | +import ru.mystamps.web.controller.dto.ImportSeriesSalesForm; |
43 | 45 | import ru.mystamps.web.controller.dto.RequestImportForm;
|
44 | 46 | import ru.mystamps.web.controller.event.ImportRequestCreated;
|
45 | 47 | import ru.mystamps.web.dao.dto.ImportRequestDto;
|
46 | 48 | import ru.mystamps.web.dao.dto.SeriesParsedDataDto;
|
| 49 | +import ru.mystamps.web.dao.dto.SeriesSaleParsedDataDto; |
47 | 50 | import ru.mystamps.web.service.SeriesImportService;
|
| 51 | +import ru.mystamps.web.service.SeriesSalesImportService; |
| 52 | +import ru.mystamps.web.service.SeriesSalesService; |
48 | 53 | import ru.mystamps.web.util.LocaleUtils;
|
49 | 54 |
|
50 | 55 | import static ru.mystamps.web.controller.ControllerUtils.redirectTo;
|
|
54 | 59 | public class SeriesImportController {
|
55 | 60 |
|
56 | 61 | private final SeriesImportService seriesImportService;
|
| 62 | + private final SeriesSalesService seriesSalesService; |
| 63 | + private final SeriesSalesImportService seriesSalesImportService; |
57 | 64 | private final SeriesController seriesController;
|
58 | 65 | private final ApplicationEventPublisher eventPublisher;
|
59 | 66 |
|
@@ -127,6 +134,20 @@ public String showRequestAndImportSeriesForm(
|
127 | 134 | }
|
128 | 135 | }
|
129 | 136 |
|
| 137 | + SeriesSaleParsedDataDto seriesSale = seriesSalesImportService.getParsedData(requestId); |
| 138 | + if (seriesSale != null) { |
| 139 | + ImportSeriesSalesForm seriesSaleForm = new ImportSeriesSalesForm(); |
| 140 | + seriesSaleForm.setSellerId(seriesSale.getSellerId()); |
| 141 | + seriesSaleForm.setPrice(seriesSale.getPrice()); |
| 142 | + seriesSaleForm.setCurrency(seriesSale.getCurrency()); |
| 143 | + |
| 144 | + form.setSeriesSale(seriesSaleForm); |
| 145 | + |
| 146 | + if (seriesSale.getSellerId() != null) { |
| 147 | + seriesController.addSellersToModel(model); |
| 148 | + } |
| 149 | + } |
| 150 | + |
130 | 151 | model.addAttribute("importSeriesForm", form);
|
131 | 152 | model.addAttribute("showForm", hasParsedData);
|
132 | 153 |
|
@@ -175,11 +196,27 @@ public String processImportSeriesForm(
|
175 | 196 | seriesController.addCountriesToModel(model, lang);
|
176 | 197 | seriesController.addYearToModel(model);
|
177 | 198 |
|
| 199 | + ImportSeriesSalesForm seriesSaleForm = form.getSeriesSale(); |
| 200 | + if (seriesSaleForm != null) { |
| 201 | + seriesController.addSellersToModel(model); |
| 202 | + } |
| 203 | + |
178 | 204 | if (result.hasErrors()) {
|
179 | 205 | return "series/import/info";
|
180 | 206 | }
|
181 | 207 |
|
182 |
| - Integer seriesId = seriesImportService.addSeries(form, requestId, currentUserId); |
| 208 | + if (seriesSaleForm != null) { |
| 209 | + // fill required values prior passing the form into the service. |
| 210 | + seriesSaleForm.setDate(new Date()); |
| 211 | + seriesSaleForm.setUrl(request.getUrl()); |
| 212 | + } |
| 213 | + |
| 214 | + Integer seriesId = seriesImportService.addSeries( |
| 215 | + form, |
| 216 | + seriesSaleForm, |
| 217 | + requestId, |
| 218 | + currentUserId |
| 219 | + ); |
183 | 220 |
|
184 | 221 | return redirectTo(Url.INFO_SERIES_PAGE, seriesId);
|
185 | 222 | }
|
|
0 commit comments