| | |
| | | import com.dsh.activity.feignclient.other.StoreClient; |
| | | import com.dsh.activity.feignclient.other.model.StoreDetailOfCourse; |
| | | import com.dsh.activity.model.PointMerchandiseVo; |
| | | import com.dsh.activity.model.request.AppUserGoodResp; |
| | | import com.dsh.activity.model.request.CommodityRequest; |
| | | import com.dsh.activity.model.request.*; |
| | | import com.dsh.activity.service.*; |
| | | import com.dsh.activity.util.GDMapGeocodingUtil; |
| | | import com.dsh.activity.util.StrUtils; |
| | |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.annotation.Resource; |
| | | import javax.xml.crypto.Data; |
| | | import java.text.ParseException; |
| | | import java.text.SimpleDateFormat; |
| | | import java.time.LocalDate; |
| | | import java.time.LocalDateTime; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | |
| | | List<IntegralCommodity> commodity = new ArrayList<>(); |
| | | List<PointsMerchandise> merchandises = pmdsService.list(new QueryWrapper<PointsMerchandise>() |
| | | .eq("state",1) |
| | | .eq("shelves",1) |
| | | .gt("endTime",new Date())); |
| | | if (merchandises.size() > 0){ |
| | | for (PointsMerchandise merchandise : merchandises) { |
| | |
| | | } |
| | | |
| | | list = pmdsService.list(new QueryWrapper<PointsMerchandise>() |
| | | .eq("state", 1)); |
| | | .eq("state", 1) |
| | | .eq("shelves",1)); |
| | | if (list.size() > 0 ){ |
| | | Iterator<PointsMerchandise> iterator = list.iterator(); |
| | | while (iterator.hasNext()) { |
| | |
| | | return count; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 变更兑换商品的的状态 |
| | | * @param code |
| | | * @return 数量 |
| | | */ |
| | | @ResponseBody |
| | | @PostMapping("/base/pointMerchars/deletePaymentRecord") |
| | | public void deletePaymentRecord(@RequestBody String code){ |
| | | List<UserPointsMerchandise> list = upmseService.list(new LambdaQueryWrapper<UserPointsMerchandise>() |
| | | .eq(UserPointsMerchandise::getCode,code)); |
| | | if (list.size() > 0 ){ |
| | | for (UserPointsMerchandise pointsMerchandise : list) { |
| | | pointsMerchandise.setState(2); |
| | | upmseService.updateById(pointsMerchandise); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | @ResponseBody |
| | | @PostMapping("/base/pointMerchars/queryGoodsListSearch") |
| | | public List<Map<String,Object>> getIntegralGoodsListOfSearch(@RequestBody IntegralGoodsOfSearch ofSearch){ |
| | | System.out.println(ofSearch); |
| | | List<Map<String, Object>> mapList = pmdsService.queryGoodsListOfSearch(ofSearch); |
| | | if (mapList.size() > 0){ |
| | | for (Map<String, Object> stringObjectMap : mapList) { |
| | | Integer o = (Integer) stringObjectMap.get("id"); |
| | | String startTime = (String) stringObjectMap.get("startTime"); |
| | | String endTime = (String) stringObjectMap.get("endTime"); |
| | | stringObjectMap.put("timeValue",startTime + "至"+endTime); |
| | | int count1 = upmseService.count(new LambdaQueryWrapper<UserPointsMerchandise>() |
| | | .eq(UserPointsMerchandise::getPointsMerchandiseId, o)); |
| | | int count2 = upmseService.count(new LambdaQueryWrapper<UserPointsMerchandise>() |
| | | .eq(UserPointsMerchandise::getPointsMerchandiseId, o) |
| | | .eq(UserPointsMerchandise::getStatus,2)); |
| | | stringObjectMap.put("hasExchangeQty",count1); |
| | | stringObjectMap.put("hasPickQty",count2); |
| | | |
| | | stringObjectMap.put("activeStatus",dealTimeStatus(startTime,endTime)); |
| | | } |
| | | if (ToolUtil.isNotEmpty(ofSearch.getActiveStatus())){ |
| | | mapList = dealTimeData(mapList,ofSearch.getActiveStatus()); |
| | | } |
| | | } |
| | | System.out.println("mapList->"+mapList); |
| | | return mapList; |
| | | } |
| | | |
| | | public int dealTimeStatus(String startTime, String endTime){ |
| | | LocalDate now = LocalDate.now(); |
| | | LocalDate start = LocalDate.parse(startTime); |
| | | LocalDate end = LocalDate.parse(endTime); |
| | | if (now.isBefore(start)) { |
| | | return 1; // 未开始 |
| | | } else if (now.isAfter(end)) { |
| | | return 3; // 已结束 |
| | | } else { |
| | | return 2; // 已开始 |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @param mapLists |
| | | * @param timeType 1=未开始 2=已开始 3=已结束 |
| | | * @return |
| | | */ |
| | | public List<Map<String, Object>> dealTimeData(List<Map<String, Object>> mapLists,Integer timeType){ |
| | | Date currentDate = new Date(); |
| | | SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); |
| | | switch (timeType){ |
| | | case 1: |
| | | return mapLists.stream() |
| | | .filter(event -> { |
| | | try { |
| | | return simpleDateFormat.parse((String) event.get("startTime")).after(currentDate); |
| | | } catch (ParseException e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | }) |
| | | .collect(Collectors.toList()); |
| | | case 2: |
| | | return mapLists.stream() |
| | | .filter(event -> { |
| | | try { |
| | | return simpleDateFormat.parse((String) event.get("startTime")).before(currentDate) && simpleDateFormat.parse((String) event.get("endTime")).after(currentDate); |
| | | } catch (ParseException e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | }) |
| | | .collect(Collectors.toList()); |
| | | case 3: |
| | | return mapLists.stream() |
| | | .filter(event -> { |
| | | try { |
| | | return simpleDateFormat.parse((String) event.get("endTime")).before(currentDate); |
| | | } catch (ParseException e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | }) |
| | | .collect(Collectors.toList()); |
| | | default: |
| | | break; |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | |
| | | @PostMapping("/base/pointMerchars/queryPointMerchaseDetailOfId") |
| | | public PointMercharsVo queryPointMerchaseDetailOfId(@RequestBody Integer pointMercharsId){ |
| | | PointMercharsVo vo = new PointMercharsVo(); |
| | | PointsMerchandise byId = pmdsService.getById(pointMercharsId); |
| | | if (ToolUtil.isNotEmpty(byId)){ |
| | | vo.setName(byId.getName()); |
| | | vo.setCover(byId.getCover()); |
| | | vo.setPics(byId.getProductImages()); |
| | | vo.setQuantityIssued(byId.getQuantityIssued()); |
| | | vo.setPickUpQuantity(byId.getPickUpQuantity()); |
| | | vo.setSort(byId.getSort()); |
| | | vo.setContent(byId.getRedemptionInstructions()); |
| | | } |
| | | return vo; |
| | | } |
| | | |
| | | |
| | | @PostMapping("/base/pointMerchars/updateGoodsGroudingStatus") |
| | | boolean updateGoodsGroudingStatus(@RequestBody Map<String,Integer> map){ |
| | | Integer id = map.get("id"); |
| | | Integer type = map.get("type"); |
| | | System.out.println(id); |
| | | System.out.println(type); |
| | | try { |
| | | PointsMerchandise byId = pmdsService.getById(id); |
| | | byId.setShelves(type); |
| | | pmdsService.updateById(byId); |
| | | return true; |
| | | }catch (Exception e){ |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | |
| | | @ResponseBody |
| | | @PostMapping("/base/pointMerchars/queryUserPayedGoodsList") |
| | | public List<Map<String, Object>> queryUserPayedGoodsList(@RequestBody PointMercharsPayedVo pointMercharsPayedVo){ |
| | | System.out.println(pointMercharsPayedVo); |
| | | List<Map<String, Object>> mapList = new ArrayList<>(); |
| | | LambdaQueryWrapper<UserPointsMerchandise> userPointsMerchandiseLambdaQueryWrapper = new LambdaQueryWrapper<>(); |
| | | userPointsMerchandiseLambdaQueryWrapper.eq(UserPointsMerchandise::getPointsMerchandiseId,pointMercharsPayedVo.getId()); |
| | | if (ToolUtil.isNotEmpty(pointMercharsPayedVo.getStatus())){ |
| | | userPointsMerchandiseLambdaQueryWrapper.eq(UserPointsMerchandise::getStatus,pointMercharsPayedVo.getStatus()); |
| | | } |
| | | List<UserPointsMerchandise> list = upmseService.list(userPointsMerchandiseLambdaQueryWrapper); |
| | | System.out.println(list); |
| | | if (list.size() > 0 ){ |
| | | for (UserPointsMerchandise pointsMerchandise : list) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("id",pointsMerchandise.getId()); |
| | | map.put("userId",pointsMerchandise.getUserId()); |
| | | map.put("status", pointsMerchandise.getStatus()); |
| | | mapList.add(map); |
| | | } |
| | | } |
| | | System.out.println(mapList); |
| | | return mapList; |
| | | } |
| | | |
| | | } |