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