From aca52db249c7ddcd84e1d4125573a6bb3524670f Mon Sep 17 00:00:00 2001
From: lisy <linlangsur163@163.com>
Date: 星期一, 07 八月 2023 21:29:50 +0800
Subject: [PATCH] app端:商品详情列表数据的处理bug

---
 cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java                       |   32 ++++
 cloud-server-activity/src/main/java/com/dsh/activity/feignclient/other/model/CityDataAndProvinceDataVo.java |   17 ++
 cloud-server-other/src/main/resources/mapper/RegionMapper.xml                                               |    5 
 cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java                |   12 +
 cloud-server-management/src/main/webapp/static/modular/system/tCoupon/TStoreInfo.js                         |    2 
 cloud-server-other/src/main/java/com/dsh/other/entity/Region.java                                           |  116 ++++++++++++++++
 cloud-server-other/src/main/java/com/dsh/other/service/impl/RegionServiceImpl.java                          |   12 +
 cloud-server-activity/src/main/java/com/dsh/activity/feignclient/other/RegionClient.java                    |   17 ++
 cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoupon/TCouponAdd.html                         |   16 -
 cloud-server-other/src/main/java/com/dsh/other/service/IRegionService.java                                  |   16 ++
 cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java                    |   13 +
 cloud-server-other/src/main/java/com/dsh/other/controller/TRegionController.java                            |   50 +++++++
 cloud-server-other/src/main/java/com/dsh/other/model/CityDataAndProvinceDataVo.java                         |   17 ++
 cloud-server-management/src/main/webapp/static/modular/system/tCoupon/TCouponInfo.js                        |   34 ++++
 cloud-server-other/src/main/java/com/dsh/other/mapper/RegionMapper.java                                     |   10 +
 15 files changed, 346 insertions(+), 23 deletions(-)

diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
index 5c2700b..275b2da 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
@@ -792,9 +792,16 @@
                         .collect(Collectors.toList());
             }
         }
-        Pageable pageable = PageRequest.of(request.getPageNum() - 1, request.getPageSize());
-        Page<Goods> page = getPage(goods, pageable);
-        return page.getContent();
+
+        //当前第几页
+        int pageNo = request.getPageNum();
+        //一页五条
+        int size = request.getPageSize();
+
+        //分页
+        goods = goods.stream().skip((pageNo - 1) * size).limit(size).
+                collect(Collectors.toList());
+        return goods;
     }
 
     // 对数据进行分页处理的方法
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java b/cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java
index 885bba2..55f41f0 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java
@@ -14,7 +14,9 @@
 import com.dsh.activity.feignclient.account.model.TStoreStaff;
 import com.dsh.activity.feignclient.model.CouponExamineListSearch;
 import com.dsh.activity.feignclient.model.CouponListOfSearch;
+import com.dsh.activity.feignclient.other.RegionClient;
 import com.dsh.activity.feignclient.other.StoreClient;
+import com.dsh.activity.feignclient.other.model.CityDataAndProvinceDataVo;
 import com.dsh.activity.feignclient.other.model.Store;
 import com.dsh.activity.model.CouponListVo;
 import com.dsh.activity.model.request.CommodityRequest;
@@ -70,6 +72,10 @@
 
     @Resource
     private StoreClient stoClient;
+
+
+    @Resource
+    private RegionClient regionClient;
 
     @Resource
     private CouponStoreService couStoreService;
@@ -425,7 +431,31 @@
             if (dataVo.getUserType() == 1){
                 coupon.setCityManagerId(dataVo.getCityManagerId());
             }
-            return couponService.save(coupon);
+            boolean save = couponService.save(coupon);
+            if (save){
+                if (dataVo.getCompany() == 2){
+                    for (Integer storeId : dataVo.getStoreIds()) {
+                        CouponStore couponStore = new CouponStore();
+                        couponStore.setCouponId(coupon.getId());
+                        couponStore.setStoreId(storeId);
+                        couStoreService.save(couponStore);
+                    }
+                }
+                List<Integer> cityIds = dataVo.getCityIds();
+                if (dataVo.getCompany() == 3 && cityIds.size() > 0 ){
+                    List<CityDataAndProvinceDataVo> cityAndProvince = regionClient.getCityAndProvince(cityIds);
+                    for (CityDataAndProvinceDataVo cityId : cityAndProvince) {
+                        CouponCity couponCity = new CouponCity();
+                        couponCity.setCouponId(coupon.getId());
+                        couponCity.setCityCode(cityId.getCityCode());
+                        couponCity.setCity(cityId.getCityName());
+                        couponCity.setProvinceCode(cityId.getProvinceCode());
+                        couponCity.setProvince(cityId.getProvinceName());
+                        cityService.save(couponCity);
+                    }
+                }
+            }
+            return true;
         }catch (Exception e){
             return false;
         }
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java b/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
index cb9957e..b6e5926 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
@@ -138,8 +138,9 @@
                 CoursePackage coursePackage = cpClient.queryCoursePackageById(merchandise.getCoursePackageId());
 
                 detailsVo.setGoodId(coursePackage.getId());
-                List<String> list1 = Arrays.asList(StrUtils.splitStr2StrArr(coursePackage.getDetailDrawing(), ","));
+                List<String> list1 = new ArrayList<>();
                 list1.add(coursePackage.getCoverDrawing());
+                list1.addAll(Arrays.asList(StrUtils.splitStr2StrArr(coursePackage.getDetailDrawing(), ",")));
                 detailsVo.setPics(list1);
                 Collections.sort(detailsVo.getPics(), (s1, s2) -> {
                     if (s1.equals(coursePackage.getCoverDrawing())) {
@@ -199,8 +200,10 @@
             case 3:
 
                 detailsVo.setGoodId(merchandise.getId());
-                List<String> list2 = Arrays.asList(StrUtils.splitStr2StrArr(merchandise.getProductImages(), ","));
-                list2.add(merchandise.getCover());
+                List<String> list2 = new ArrayList<>();
+                String cover = merchandise.getCover();
+                list2.add(cover);
+                list2.addAll(Arrays.asList(StrUtils.splitStr2StrArr(merchandise.getProductImages(), ",")));
                 detailsVo.setPics(list2);
                 Collections.sort(detailsVo.getPics(), (s1, s2) -> {
                     if (s1.equals(merchandise.getCover())) {
@@ -248,8 +251,9 @@
 //                优惠券
                 Coupon coupon = iCouponService.getById(detailRequest.getGoodId());
                 detailsVo.setGoodId(coupon.getId());
-                List<String> list3 = Arrays.asList(StrUtils.splitStr2StrArr(coupon.getProductImages(), ","));
+                List<String> list3 = new ArrayList<>();
                 list3.add(coupon.getCover());
+                list3.addAll(Arrays.asList(StrUtils.splitStr2StrArr(coupon.getProductImages(), ",")));
                 detailsVo.setPics(list3);
                 Collections.sort(detailsVo.getPics(), (s1, s2) -> {
                     if (s1.equals(coupon.getCover())) {
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/other/RegionClient.java b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/other/RegionClient.java
new file mode 100644
index 0000000..5e11259
--- /dev/null
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/other/RegionClient.java
@@ -0,0 +1,17 @@
+package com.dsh.activity.feignclient.other;
+
+
+import com.dsh.activity.feignclient.other.model.CityDataAndProvinceDataVo;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.util.List;
+
+@FeignClient("mb-cloud-other")
+public interface RegionClient {
+
+
+    @PostMapping("/base/region/getCityAndProvince")
+    public List<CityDataAndProvinceDataVo> getCityAndProvince(List<Integer> ids);
+}
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/other/model/CityDataAndProvinceDataVo.java b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/other/model/CityDataAndProvinceDataVo.java
new file mode 100644
index 0000000..b611693
--- /dev/null
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/other/model/CityDataAndProvinceDataVo.java
@@ -0,0 +1,17 @@
+package com.dsh.activity.feignclient.other.model;
+
+
+import lombok.Data;
+
+@Data
+public class CityDataAndProvinceDataVo {
+
+    String cityName;
+
+    String cityCode;
+
+    String provinceName;
+
+    String provinceCode;
+
+}
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoupon/TCouponAdd.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoupon/TCouponAdd.html
index 5dcd606..6c0b44d 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoupon/TCouponAdd.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoupon/TCouponAdd.html
@@ -227,8 +227,8 @@
                             <el-upload
                                     class="avatar-uploader"
                                     action="/tCouponManage/uploadPic"
-                                    :show-file-list="false"
                                     :on-success="handleAvatarSuccess"
+                                    accept=".jpg,.jpeg,.png,.JPG,.JPEG"
                                     :on-remove="handleRemove"
                                     :before-upload="beforeAvatarUpload">
                                 <img v-if="imageUrl" :src="imageUrl" class="avatar">
@@ -250,7 +250,7 @@
                                     class="avatar-uploader"
                                     action="/tCouponManage/uploadPic"
                                     list-type="picture-card"
-                                    accept="."
+                                    accept=".jpg,.jpeg,.png,.JPG,.JPEG"
                                     :on-success="handleAvatarSuccess"
                                     :on-remove="handleRemove">
                                 <i class="el-icon-plus"></i>
@@ -369,10 +369,12 @@
         data: {
             autoUpload: true,//自动上传
             imageUrl: '',//模型数据,用于上传图片完成后图片预览
+            dialogVisible: false
         },
         methods: {
             handleAvatarSuccess(res, file) {
-                couponInfoDlg.goodsCover = URL.createObjectURL(file.raw);
+                this.imageUrl = URL.createObjectURL(file.raw);
+                couponInfoDlg.goodsCover = file.response;
             },
             beforeAvatarUpload(file) {
                 const isLt2M = file.size / 1024 / 1024 < 10;
@@ -383,6 +385,7 @@
             },
             handleRemove(file, fileList) {
                 couponInfoDlg.goodsCover = '';
+                console.log(couponInfoDlg.goodsCover)
             },
         },
         created() {
@@ -391,13 +394,6 @@
 
     var vue2 = new Vue({
         el: '#app1',
-        props: {
-            // 数量限制
-            limit: {
-                type: Number,
-                default: 2
-            },
-        },
         data: {
             autoUpload: true,//自动上传
             imageUrl1: '',//模型数据,用于上传图片完成后图片预览
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tCoupon/TCouponInfo.js b/cloud-server-management/src/main/webapp/static/modular/system/tCoupon/TCouponInfo.js
index 66943ad..02d3589 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/tCoupon/TCouponInfo.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/tCoupon/TCouponInfo.js
@@ -4,7 +4,8 @@
 var couponInfoDlg = {
     couponInfoData: {},
     goodsPicArray: [], //商品图片数组
-    goodsCover: '' //商品封面图
+    goodsCover: '', //商品封面图
+    storeIds: [],
 };
 
 /**
@@ -214,6 +215,7 @@
 
 var num = 0;
 couponInfoDlg.addBranch = function () {
+    num=num+1;
     var a= "";
     a = "<div style=\'margin-left: 25%\' class=\"col-sm-9 control-label\">\n" +
         "                            <select class=\"col-sm-1\"  id=\'provinceData"+num+"\' style=\"margin-top: 1%;width: 25%\" onchange=\'changeCity("+num+")\'>\n" +
@@ -228,7 +230,6 @@
         "                        </div>";
     $("#cityDemo").append($(a));
     getProvince(num);
-    num=num+1
 }
 
 
@@ -242,7 +243,7 @@
  */
 couponInfoDlg.addSubmit = function () {
 
-    var resultData = {};
+    var cityIds = [];
     // 优惠券名称
     var couponName = $('#name').val();
     // 优惠券类型
@@ -266,6 +267,29 @@
     let exchangeMethod = $(':radio[name="exchangeMethod"]:checked').val();
 
     var requiredCash = $('#requiredCash').val();
+
+    var company = $('#company').val();
+    if (company === '2'){
+        var myselect=document.getElementById('cityData');
+        var seCity = myselect.options[myselect.selectedIndex].value;
+        if (seCity === null || seCity === undefined || seCity === ''){
+            return Feng.error('请选中一个省市');
+        }
+        cityIds.push(seCity);
+        if (this.num > 0){
+            for (let i = 1; i <= num; i++) {
+                var insSelect=document.getElementById('cityData'+i);
+                var inData = insSelect.options[insSelect.selectedIndex].value;
+                if (inData !== undefined || inData !== null ||  inData !== ''){
+                    cityIds.push(inData);
+                }
+            }
+        }
+    }
+
+    if (company === '3'){
+
+    }
 
     console.log('11111111')
 
@@ -297,8 +321,8 @@
     ajax.set("goodImg",this.goodsCover);
     ajax.set("goodImgs",this.goodsPicArray);
     ajax.set("company",$('#company').val());
-    ajax.set("cityIds",[]);
-    ajax.set("storeIds",[]);
+    ajax.set("cityIds",cityIds);
+    ajax.set("storeIds",this.storeIds);
     ajax.start();
 
 }
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tCoupon/TStoreInfo.js b/cloud-server-management/src/main/webapp/static/modular/system/tCoupon/TStoreInfo.js
index e8f1904..6ecfd31 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/tCoupon/TStoreInfo.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/tCoupon/TStoreInfo.js
@@ -44,6 +44,8 @@
 
 function saveSelectStores(){
 
+
+
 }
 
 
diff --git a/cloud-server-other/src/main/java/com/dsh/other/controller/TRegionController.java b/cloud-server-other/src/main/java/com/dsh/other/controller/TRegionController.java
new file mode 100644
index 0000000..528f178
--- /dev/null
+++ b/cloud-server-other/src/main/java/com/dsh/other/controller/TRegionController.java
@@ -0,0 +1,50 @@
+package com.dsh.other.controller;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.dsh.other.entity.Region;
+import com.dsh.other.model.CityDataAndProvinceDataVo;
+import com.dsh.other.service.IRegionService;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+
+@RestController
+@RequestMapping("")
+public class TRegionController {
+
+
+
+    @Resource
+    private IRegionService regionService;
+
+
+    @PostMapping("/base/region/getCityAndProvince")
+    public List<CityDataAndProvinceDataVo> getCityAndProvince(@RequestBody List<Integer> ids){
+        List<CityDataAndProvinceDataVo> cityDataAndProvinceDataVos = new ArrayList<>();
+        try {
+            List<Region> list = regionService.list(new LambdaQueryWrapper<Region>()
+                    .in(Region::getId, ids));
+            if (list.size() > 0) {
+                for (Region region : list) {
+                    CityDataAndProvinceDataVo dataVo = new CityDataAndProvinceDataVo();
+                    dataVo.setCityCode(region.getCode());
+                    dataVo.setCityName(region.getName());
+                    Region byId = regionService.getById(region.getParentId());
+                    dataVo.setProvinceCode(byId.getCode());
+                    dataVo.setProvinceName(byId.getName());
+                    cityDataAndProvinceDataVos.add(dataVo);
+                }
+            }
+            return cityDataAndProvinceDataVos;
+        }catch (Exception e){
+            return cityDataAndProvinceDataVos;
+        }
+    }
+
+}
diff --git a/cloud-server-other/src/main/java/com/dsh/other/entity/Region.java b/cloud-server-other/src/main/java/com/dsh/other/entity/Region.java
new file mode 100644
index 0000000..9931cde
--- /dev/null
+++ b/cloud-server-other/src/main/java/com/dsh/other/entity/Region.java
@@ -0,0 +1,116 @@
+package com.dsh.other.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 省市区三级联动
+ * </p>
+ *
+ * @author 吕雪
+ * @since 2019-12-30
+ */
+@TableName("t_region")
+public class Region extends Model<Region> {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键ID
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+    /**
+     * 城市名称
+     */
+    @TableField("name")
+    private String name;
+
+    @TableField("code")
+    private String code;
+
+    @TableField("citycode")
+    private String citycode;
+    /**
+     * 父级ID
+     */
+    @TableField("parent_id")
+    private Integer parentId;
+    /**
+     * 英文名称
+     */
+    @TableField("english")
+    private String english;
+
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
+    public String getCitycode() {
+        return citycode;
+    }
+
+    public void setCitycode(String citycode) {
+        this.citycode = citycode;
+    }
+
+    public Integer getParentId() {
+        return parentId;
+    }
+
+    public void setParentId(Integer parentId) {
+        this.parentId = parentId;
+    }
+
+    public String getEnglish() {
+        return english;
+    }
+
+    public void setEnglish(String english) {
+        this.english = english;
+    }
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+    @Override
+    public String toString() {
+        return "Region{" +
+        "id=" + id +
+        ", name=" + name +
+        ", code=" + code +
+        ", citycode=" + citycode +
+        ", parentId=" + parentId +
+        ", english=" + english +
+        "}";
+    }
+}
diff --git a/cloud-server-other/src/main/java/com/dsh/other/mapper/RegionMapper.java b/cloud-server-other/src/main/java/com/dsh/other/mapper/RegionMapper.java
new file mode 100644
index 0000000..421b4dd
--- /dev/null
+++ b/cloud-server-other/src/main/java/com/dsh/other/mapper/RegionMapper.java
@@ -0,0 +1,10 @@
+package com.dsh.other.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.dsh.other.entity.Region;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface RegionMapper extends BaseMapper<Region> {
+
+}
diff --git a/cloud-server-other/src/main/java/com/dsh/other/model/CityDataAndProvinceDataVo.java b/cloud-server-other/src/main/java/com/dsh/other/model/CityDataAndProvinceDataVo.java
new file mode 100644
index 0000000..e631483
--- /dev/null
+++ b/cloud-server-other/src/main/java/com/dsh/other/model/CityDataAndProvinceDataVo.java
@@ -0,0 +1,17 @@
+package com.dsh.other.model;
+
+
+import lombok.Data;
+
+@Data
+public class CityDataAndProvinceDataVo {
+
+    String cityName;
+
+    String cityCode;
+
+    String provinceName;
+
+    String provinceCode;
+
+}
diff --git a/cloud-server-other/src/main/java/com/dsh/other/service/IRegionService.java b/cloud-server-other/src/main/java/com/dsh/other/service/IRegionService.java
new file mode 100644
index 0000000..246eb77
--- /dev/null
+++ b/cloud-server-other/src/main/java/com/dsh/other/service/IRegionService.java
@@ -0,0 +1,16 @@
+package com.dsh.other.service;
+
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.dsh.other.entity.Region;
+
+/**
+ * 字典服务
+ *
+ * @author fengshuonan
+ * @date 2017-04-27 17:00
+ */
+public interface IRegionService extends IService<Region> {
+
+
+}
diff --git a/cloud-server-other/src/main/java/com/dsh/other/service/impl/RegionServiceImpl.java b/cloud-server-other/src/main/java/com/dsh/other/service/impl/RegionServiceImpl.java
new file mode 100644
index 0000000..e5b1b72
--- /dev/null
+++ b/cloud-server-other/src/main/java/com/dsh/other/service/impl/RegionServiceImpl.java
@@ -0,0 +1,12 @@
+package com.dsh.other.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dsh.other.entity.Region;
+import com.dsh.other.mapper.RegionMapper;
+import com.dsh.other.service.IRegionService;
+import org.springframework.stereotype.Service;
+
+@Service
+public class RegionServiceImpl extends ServiceImpl<RegionMapper, Region> implements IRegionService {
+
+}
diff --git a/cloud-server-other/src/main/resources/mapper/RegionMapper.xml b/cloud-server-other/src/main/resources/mapper/RegionMapper.xml
new file mode 100644
index 0000000..0d8eada
--- /dev/null
+++ b/cloud-server-other/src/main/resources/mapper/RegionMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.dsh.course.mapper.RegionMapper">
+
+</mapper>
\ No newline at end of file

--
Gitblit v1.7.1