From abf57596e405226c6701f3ce3b1e902490af713a Mon Sep 17 00:00:00 2001
From: lisy <linlangsur163@163.com>
Date: 星期一, 31 七月 2023 20:24:09 +0800
Subject: [PATCH] 优惠券去掉省、省编号、市、是编号字段,新增优惠券城市列表数据表
---
cloud-server-activity/src/main/java/com/dsh/activity/entity/Coupon.java | 31 -
cloud-server-activity/src/main/java/com/dsh/activity/feignclient/account/model/TCityManager.java | 19
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCouponExamineController.java | 22
cloud-server-activity/src/main/java/com/dsh/activity/feignclient/other/model/Store.java | 109 +++++
cloud-server-activity/src/main/java/com/dsh/activity/service/CouponCityService.java | 16
cloud-server-other/src/main/java/com/dsh/other/controller/StoreController.java | 22
cloud-server-account/src/main/java/com/dsh/account/service/impl/TStoreStaffServiceImpl.java | 20 +
cloud-server-activity/src/main/resources/mapper/CouponCityMapper.xml | 6
cloud-server-activity/src/main/java/com/dsh/activity/feignclient/other/StoreClient.java | 7
cloud-server-account/src/main/java/com/dsh/account/entity/TStoreStaff.java | 63 +++
cloud-server-activity/src/main/java/com/dsh/activity/entity/CouponCity.java | 66 +++
cloud-server-management/src/main/webapp/WEB-INF/view/system/tCouponExamine/TCouponExamineInfo.html | 145 +++++++
cloud-server-account/src/main/resources/mapper/TStoreStaffMapper.xml | 6
cloud-server-account/src/main/java/com/dsh/account/util/GDMapGeocodingUtil.java | 9
cloud-server-account/src/main/java/com/dsh/account/controller/StoreStaffController.java | 27 +
cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java | 151 ++++++
cloud-server-course/src/main/java/com/dsh/course/feignclient/other/StoreClient.java | 2
cloud-server-activity/src/main/java/com/dsh/activity/feignclient/account/StoreStaffClient.java | 16
cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java | 11
cloud-server-activity/src/main/java/com/dsh/activity/mapper/CouponCityMapper.java | 17
cloud-server-activity/src/main/java/com/dsh/activity/feignclient/account/model/TStoreStaff.java | 48 ++
cloud-server-management/src/main/webapp/WEB-INF/view/system/tCouponExamine/TCouponExamineList.html | 0
cloud-server-account/src/main/java/com/dsh/account/mapper/TStoreStaffMapper.java | 8
cloud-server-account/src/main/java/com/dsh/account/service/TStoreStaffService.java | 16
cloud-server-activity/src/main/java/com/dsh/activity/feignclient/account/CityClient.java | 15
cloud-server-other/src/main/java/com/dsh/other/feignclient/StoreClient.java | 2
cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoupon/TCouponAdd.html | 37 +
cloud-server-other/src/main/java/com/dsh/other/util/GDMapGeocodingUtil.java | 7
cloud-server-course/src/main/java/com/dsh/course/model/vo/response/Details.java | 2
cloud-server-activity/src/main/java/com/dsh/activity/service/impl/CouponCityServiceImpl.java | 20 +
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageDiscountServiceImpl.java | 230 +++++------
31 files changed, 964 insertions(+), 186 deletions(-)
diff --git a/cloud-server-account/src/main/java/com/dsh/account/controller/StoreStaffController.java b/cloud-server-account/src/main/java/com/dsh/account/controller/StoreStaffController.java
new file mode 100644
index 0000000..f5a401a
--- /dev/null
+++ b/cloud-server-account/src/main/java/com/dsh/account/controller/StoreStaffController.java
@@ -0,0 +1,27 @@
+package com.dsh.account.controller;
+
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.dsh.account.entity.TCityManager;
+import com.dsh.account.entity.TStoreStaff;
+import com.dsh.account.feignclient.model.CityListQuery;
+import com.dsh.account.service.TStoreStaffService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+
+@RestController
+@RequestMapping("")
+public class StoreStaffController {
+
+
+ @Resource
+ private TStoreStaffService tsstaService;
+
+
+ @ResponseBody
+ @PostMapping("/base/storeStaff/infoById")
+ public TStoreStaff baseInfo(@RequestBody Integer id){
+ return tsstaService.getById(id);
+ }
+}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/entity/TStoreStaff.java b/cloud-server-account/src/main/java/com/dsh/account/entity/TStoreStaff.java
new file mode 100644
index 0000000..3e0eb15
--- /dev/null
+++ b/cloud-server-account/src/main/java/com/dsh/account/entity/TStoreStaff.java
@@ -0,0 +1,63 @@
+package com.dsh.account.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 lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 门店员工
+ * </p>
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("t_store_staff")
+public class TStoreStaff extends Model<TStoreStaff> {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+ /**
+ * 名称
+ */
+ @TableField("name")
+ private String name;
+ /**
+ * 手机号
+ */
+ @TableField("phone")
+ private Integer phone;
+ /**
+ * 密码
+ */
+ @TableField("password")
+ private Integer password;
+ /**
+ * 所属门店id
+ */
+ @TableField("storeId")
+ private Integer storeId;
+ /**
+ * 状态(1=正常,2=冻结,3=删除)
+ */
+ @TableField("state")
+ private Integer state;
+
+ @Override
+ protected Serializable pkVal() {
+ return this.id;
+ }
+
+}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/mapper/TStoreStaffMapper.java b/cloud-server-account/src/main/java/com/dsh/account/mapper/TStoreStaffMapper.java
new file mode 100644
index 0000000..b022e0f
--- /dev/null
+++ b/cloud-server-account/src/main/java/com/dsh/account/mapper/TStoreStaffMapper.java
@@ -0,0 +1,8 @@
+package com.dsh.account.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.dsh.account.entity.TStoreStaff;
+
+public interface TStoreStaffMapper extends BaseMapper<TStoreStaff> {
+
+}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/TStoreStaffService.java b/cloud-server-account/src/main/java/com/dsh/account/service/TStoreStaffService.java
new file mode 100644
index 0000000..6a13581
--- /dev/null
+++ b/cloud-server-account/src/main/java/com/dsh/account/service/TStoreStaffService.java
@@ -0,0 +1,16 @@
+package com.dsh.account.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.dsh.account.entity.TStoreStaff;
+
+/**
+ * <p>
+ * 教练 服务类
+ * </p>
+ *
+ * @author jqs
+ * @since 2023-07-05
+ */
+public interface TStoreStaffService extends IService<TStoreStaff> {
+
+}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TStoreStaffServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TStoreStaffServiceImpl.java
new file mode 100644
index 0000000..8870e98
--- /dev/null
+++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TStoreStaffServiceImpl.java
@@ -0,0 +1,20 @@
+package com.dsh.account.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dsh.account.entity.TStoreStaff;
+import com.dsh.account.mapper.TStoreStaffMapper;
+import com.dsh.account.service.TStoreStaffService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 教练 服务实现类
+ * </p>
+ *
+ * @author jqs
+ * @since 2023-07-05
+ */
+@Service
+public class TStoreStaffServiceImpl extends ServiceImpl<TStoreStaffMapper, TStoreStaff> implements TStoreStaffService {
+
+}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/util/GDMapGeocodingUtil.java b/cloud-server-account/src/main/java/com/dsh/account/util/GDMapGeocodingUtil.java
index a260b46..45794d3 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/util/GDMapGeocodingUtil.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/util/GDMapGeocodingUtil.java
@@ -189,7 +189,7 @@
* @param endLonLat 结束经纬度(目标经纬度)
* @return java.lang.Long 两个定位点之间的距离
*/
- public String getDistanceTOKilometer(String startLonLat, String endLonLat) {
+ public double getDistanceTOKilometer(String startLonLat, String endLonLat) {
try {
// 返回起始地startAddr与目的地endAddr之间的距离,单位:米
Long result = new Long(0);
@@ -200,11 +200,12 @@
String queryResult = getResponse(queryUrl);
JSONObject job = JSONObject.parseObject(queryResult);
JSONArray ja = job.getJSONArray("results");
+ if (ja.size() == 0){
+ return 0.00;
+ }
JSONObject jobO = JSONObject.parseObject(ja.getString(0));
result = Long.parseLong(jobO.get("distance").toString());
- double kilDis = (double) result / 1000;
- DecimalFormat decimalFormat = new DecimalFormat("#.00");
- return decimalFormat.format(kilDis);
+ return (double) result / 1000;
} catch (Exception e) {
throw new RuntimeException();
}
diff --git a/cloud-server-account/src/main/resources/mapper/TStoreStaffMapper.xml b/cloud-server-account/src/main/resources/mapper/TStoreStaffMapper.xml
new file mode 100644
index 0000000..8b389dc
--- /dev/null
+++ b/cloud-server-account/src/main/resources/mapper/TStoreStaffMapper.xml
@@ -0,0 +1,6 @@
+<?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.account.mapper.TStoreStaffMapper">
+
+
+</mapper>
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 3156857..8b7b952 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
@@ -1,15 +1,27 @@
package com.dsh.activity.controller;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.dsh.activity.entity.Coupon;
+import com.dsh.activity.entity.CouponCity;
+import com.dsh.activity.entity.CouponStore;
import com.dsh.activity.entity.UserCoupon;
+import com.dsh.activity.feignclient.account.CityClient;
+import com.dsh.activity.feignclient.account.StoreStaffClient;
+import com.dsh.activity.feignclient.account.model.TCityManager;
+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.StoreClient;
+import com.dsh.activity.feignclient.other.model.Store;
import com.dsh.activity.model.CouponListVo;
import com.dsh.activity.model.request.CommodityRequest;
import com.dsh.activity.model.request.CouponPackageReq;
import com.dsh.activity.model.response.CouponPackageResp;
+import com.dsh.activity.service.CouponCityService;
+import com.dsh.activity.service.CouponStoreService;
import com.dsh.activity.service.ICouponService;
import com.dsh.activity.service.UserCouponService;
import com.dsh.activity.util.GDMapGeocodingUtil;
@@ -22,8 +34,10 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
+import javax.annotation.Resource;
import java.text.SimpleDateFormat;
import java.util.*;
+import java.util.stream.Collectors;
/**
* @author zhibing.pu
@@ -45,6 +59,21 @@
@Autowired
private GDMapGeocodingUtil gdMapGeocodingUtil;
+ @Resource
+ private CityClient citClient;
+
+ @Resource
+ private StoreStaffClient stoStaClient;
+
+
+ @Resource
+ private StoreClient stoClient;
+
+ @Resource
+ private CouponStoreService couStoreService;
+
+ @Resource
+ private CouponCityService cityService;
@@ -139,8 +168,17 @@
Iterator<Coupon> iterator = couponList.iterator();
while (iterator.hasNext()) {
Coupon merchandise = iterator.next();
- if (merchandise.getUseScope() == 2 && (!Objects.equals(merchandise.getCityCode(), cityCode) && !Objects.equals(merchandise.getProvinceCode(), provinceCode))) {
- iterator.remove(); // 移除符合条件的商品
+ if (merchandise.getUseScope() == 2){
+ List<CouponCity> couponCities = cityService.list(new LambdaQueryWrapper<CouponCity>()
+ .eq(CouponCity::getCouponId,merchandise.getId()));
+ if (couponCities.size() > 0){
+ for (CouponCity couponCity : couponCities) {
+ if (!Objects.equals(couponCity.getCityCode(), cityCode) && !Objects.equals(couponCity.getProvinceCode(), provinceCode)){
+ iterator.remove(); // 移除符合条件的商品
+ break;
+ }
+ }
+ }
}
}
}
@@ -192,6 +230,13 @@
Object startTime = stringObjectMap.get("startTime");
Object endTime = stringObjectMap.get("endTime");
stringObjectMap.put("timeValue",startTime + "至"+endTime);
+ Integer publisherType = (Integer) stringObjectMap.get("publisherType");
+ if ( publisherType == 1) {
+ Integer cityManagerId = (Integer) stringObjectMap.get("cityManagerId");
+ TCityManager byId = citClient.getById(cityManagerId);
+ stringObjectMap.put("province", byId.getProvince());
+ stringObjectMap.put("city", byId.getCity());
+ }
}
}
return mapList;
@@ -204,25 +249,105 @@
Coupon coupon = couponService.getById(id);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
if (ToolUtil.isNotEmpty(coupon)){
- couponInfo.put("",coupon.getId());
- couponInfo.put("",coupon.getName());
- couponInfo.put("",coupon.getAuditStatus());
- couponInfo.put("",coupon.getProvince());
- couponInfo.put("",coupon.getCity());
- couponInfo.put("",coupon.getType());
- couponInfo.put("",coupon.getContent());
- couponInfo.put("",coupon.getIllustrate());
- couponInfo.put("",coupon.getDistributionMethod());
- couponInfo.put("",coupon.getRedemptionMethod());
+ couponInfo.put("id",coupon.getId());
+ couponInfo.put("auditStatus",coupon.getAuditStatus());
+ couponInfo.put("publisherType",coupon.getPublisherType());
+ if (coupon.getPublisherType() == 1){
+ TCityManager byId = citClient.getById(coupon.getCityManagerId());
+ couponInfo.put("province",byId.getProvince());
+ couponInfo.put("city",byId.getCity());
+ }
+ couponInfo.put("name",coupon.getName());
+ couponInfo.put("type",coupon.getType());
+ JSONObject jsonObject = JSON.parseObject(coupon.getContent());
+ switch (coupon.getType()){
+ case 1:
+ couponInfo.put("num1",jsonObject.getDouble("num1"));
+ couponInfo.put("num2",jsonObject.getDouble("num2"));
+ break;
+ case 2:
+ couponInfo.put("num1",jsonObject.getDouble("num1"));
+ break;
+ case 3:
+ couponInfo.put("num1",jsonObject.getString("num1"));
+ break;
+ default:
+ break;
+ }
+ couponInfo.put("illustrate",coupon.getIllustrate());
+ switch (coupon.getDistributionMethod()){
+ case 1:
+ couponInfo.put("distributionMethod","积分注册");
+ break;
+ case 2:
+ couponInfo.put("distributionMethod","注册赠送");
+ break;
+ case 3:
+ couponInfo.put("distributionMethod","自动发券");
+ break;
+ default:
+ break;
+ }
+ couponInfo.put("redemptionMethod",coupon.getRedemptionMethod());
couponInfo.put("integral",coupon.getIntegral());
couponInfo.put("cash",coupon.getCash());
- couponInfo.put("userPopulation",coupon.getUserPopulation());
+ switch (coupon.getUserPopulation()){
+ case 1:
+ couponInfo.put("userPopulation","全部用户");
+ break;
+ case 2:
+ couponInfo.put("userPopulation","年度会员");
+ break;
+ case 3:
+ couponInfo.put("userPopulation","已有学员用户");
+ break;
+ default:
+ break;
+ }
couponInfo.put("quantityIssued",coupon.getQuantityIssued());
couponInfo.put("pickUpQuantity",coupon.getPickUpQuantity());
String startTime = simpleDateFormat.format(coupon.getStartTime());
String endTime = simpleDateFormat.format(coupon.getEndTime());
couponInfo.put("timeValue",startTime + "至"+endTime);
couponInfo.put("useScope",coupon.getUseScope());
+ ArrayList<Map<String, Object>> maps = new ArrayList<>();
+ switch (coupon.getUseScope()){
+ case 2:
+ List<CouponCity> couponCities = cityService.list(new LambdaQueryWrapper<CouponCity>()
+ .eq(CouponCity::getCouponId,coupon.getId()));
+ if (couponCities.size() > 0){
+ for (CouponCity couponCity : couponCities) {
+ HashMap<String, Object> stringObjectHashMap = new HashMap<>();
+ stringObjectHashMap.put("province",couponCity.getProvince());
+ stringObjectHashMap.put("city",couponCity.getCity());
+ maps.add(stringObjectHashMap);
+ }
+ couponInfo.put("rangeData",maps);
+ }
+ break;
+ case 3:
+ List<CouponStore> list = couStoreService.list(new LambdaQueryWrapper<CouponStore>()
+ .eq(CouponStore::getCouponId,coupon.getId()));
+ if (list.size() > 0){
+ List<Integer> collect = list.stream().map(CouponStore::getStoreId).collect(Collectors.toList());
+ List<Store> storeList = stoClient.queryStoreByIds(collect);
+ if (storeList.size() > 0){
+ for (Store store : storeList) {
+ TStoreStaff list1 = stoStaClient.baseInfo(store.getStoreStaffId());
+ HashMap<String, Object> stringObjectHashMap = new HashMap<>();
+ stringObjectHashMap.put("procity",store.getProvince()+store.getCity());
+ stringObjectHashMap.put("storeAccount",list1.getName()+"+"+list1.getPhone());
+ stringObjectHashMap.put("storeName",store.getName());
+ maps.add(stringObjectHashMap);
+ }
+ couponInfo.put("rangeData",maps);
+ }
+
+ }
+ break;
+ default:
+ break;
+ }
}
return couponInfo;
}
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 caaf629..8c2e9aa 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
@@ -1,6 +1,7 @@
package com.dsh.activity.controller;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.dsh.activity.entity.*;
import com.dsh.activity.feignclient.course.CoursePackageClient;
@@ -22,6 +23,7 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
+import javax.annotation.Resource;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
@@ -63,6 +65,9 @@
@Autowired
private TokenUtil tokenUtil;
+
+ @Resource
+ private CouponCityService ccityService;
@PostMapping("/base/pointMerchars/convertGoods")
@@ -267,7 +272,11 @@
if (coupon.getUseScope() == 1){
detailsVo.setBelongs("全国通用");
}else if (coupon.getUseScope() == 2){
- detailsVo.setBelongs(coupon.getProvince()+"|"+coupon.getCity() + "用户可用");
+ List<CouponCity> list = ccityService.list(new LambdaQueryWrapper<CouponCity>()
+ .eq(CouponCity::getCouponId, coupon.getId()));
+ if (list.size() > 0){
+ detailsVo.setBelongs(list.get(0).getProvince()+"|"+list.get(0).getCity() + "用户可用");
+ }
}else {
List<CouponStore> list = cstoreService.list(new QueryWrapper<CouponStore>()
.eq("couponId",coupon.getId() ));
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/entity/Coupon.java b/cloud-server-activity/src/main/java/com/dsh/activity/entity/Coupon.java
index 02e3e18..6d9629e 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/entity/Coupon.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/entity/Coupon.java
@@ -108,26 +108,6 @@
@TableField("useScope")
private Integer useScope;
/**
- * 省
- */
- @TableField("province")
- private String province;
- /**
- * 省编号
- */
- @TableField("provinceCode")
- private String provinceCode;
- /**
- * 市
- */
- @TableField("city")
- private String city;
- /**
- * 市编号
- */
- @TableField("cityCode")
- private String cityCode;
- /**
* 审核状态(1=待审核,2=已通过,3=已拒绝)
*/
@TableField("auditStatus")
@@ -168,7 +148,16 @@
*/
@TableField("productImages")
private String productImages;
-
+ /**
+ * 发布人类型 1=城市管理者 2=平台管理者
+ */
+ @TableField("publisherType")
+ private Integer publisherType;
+ /**
+ * 城市管理者id
+ */
+ @TableField("cityManagerId")
+ private Integer cityManagerId;
@Override
protected Serializable pkVal() {
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/entity/CouponCity.java b/cloud-server-activity/src/main/java/com/dsh/activity/entity/CouponCity.java
new file mode 100644
index 0000000..92edd0c
--- /dev/null
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/entity/CouponCity.java
@@ -0,0 +1,66 @@
+package com.dsh.activity.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 lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 优惠券使用门店关系数据
+ * </p>
+ *
+ * @author jqs
+ * @since 2023-07-07
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("t_coupon_city")
+public class CouponCity extends Model<CouponCity> {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+ /**
+ * 优惠券id
+ */
+ private Integer couponId;
+ /**
+ * 省
+ */
+ @TableField("province")
+ private String province;
+ /**
+ * 省编号
+ */
+ @TableField("provinceCode")
+ private String provinceCode;
+ /**
+ * 市
+ */
+ @TableField("city")
+ private String city;
+ /**
+ * 市编号
+ */
+ @TableField("cityCode")
+ private String cityCode;
+
+
+ @Override
+ protected Serializable pkVal() {
+ return this.id;
+ }
+
+}
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/account/CityClient.java b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/account/CityClient.java
new file mode 100644
index 0000000..3a55895
--- /dev/null
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/account/CityClient.java
@@ -0,0 +1,15 @@
+package com.dsh.activity.feignclient.account;
+
+import com.dsh.activity.feignclient.account.model.TCityManager;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+
+@FeignClient("mb-cloud-account")
+public interface CityClient {
+
+
+ @PostMapping("/base/city/getById")
+ TCityManager getById(Integer id);
+
+
+}
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/account/StoreStaffClient.java b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/account/StoreStaffClient.java
new file mode 100644
index 0000000..137fdc0
--- /dev/null
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/account/StoreStaffClient.java
@@ -0,0 +1,16 @@
+package com.dsh.activity.feignclient.account;
+
+
+import com.dsh.activity.feignclient.account.model.TStoreStaff;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+
+@FeignClient("mb-cloud-account")
+public interface StoreStaffClient {
+
+ @PostMapping("/base/storeStaff/infoById")
+ TStoreStaff baseInfo(Integer id);
+
+
+
+}
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/account/model/TCityManager.java b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/account/model/TCityManager.java
new file mode 100644
index 0000000..f441fa1
--- /dev/null
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/account/model/TCityManager.java
@@ -0,0 +1,19 @@
+package com.dsh.activity.feignclient.account.model;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+@Data
+public class TCityManager {
+ private Integer id;
+ private String name;
+ private String phone;
+ private String password;
+ private String province;
+ private String provinceCode;
+ private String city;
+ private String cityCode;
+ private Integer state;
+
+}
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/account/model/TStoreStaff.java b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/account/model/TStoreStaff.java
new file mode 100644
index 0000000..d7306fd
--- /dev/null
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/account/model/TStoreStaff.java
@@ -0,0 +1,48 @@
+package com.dsh.activity.feignclient.account.model;
+
+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 lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 门店员工
+ * </p>
+ */
+@Data
+public class TStoreStaff {
+
+
+ /**
+ * 主键
+ */
+ private Integer id;
+ /**
+ * 名称
+ */
+ private String name;
+ /**
+ * 手机号
+ */
+ private Integer phone;
+ /**
+ * 密码
+ */
+ private Integer password;
+ /**
+ * 所属门店id
+ */
+ private Integer storeId;
+ /**
+ * 状态(1=正常,2=冻结,3=删除)
+ */
+ private Integer state;
+
+}
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/other/StoreClient.java b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/other/StoreClient.java
index b23ad64..21005db 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/other/StoreClient.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/other/StoreClient.java
@@ -1,9 +1,12 @@
package com.dsh.activity.feignclient.other;
+import com.dsh.activity.feignclient.other.model.Store;
import com.dsh.activity.feignclient.other.model.StoreDetailOfCourse;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
+
+import java.util.List;
@FeignClient(value = "mb-cloud-other")
public interface StoreClient {
@@ -11,4 +14,8 @@
@PostMapping("/base/protocol/storeDetail/courseOfSto")
StoreDetailOfCourse getCourseOfStore(@RequestParam("storeId") Integer storeId);
+
+
+ @PostMapping("/store/queryStoreByIds")
+ List<Store> queryStoreByIds(List<Integer> ids);
}
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/other/model/Store.java b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/other/model/Store.java
new file mode 100644
index 0000000..1400569
--- /dev/null
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/other/model/Store.java
@@ -0,0 +1,109 @@
+package com.dsh.activity.feignclient.other.model;
+
+
+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 lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * <p>
+ * 门店信息
+ * </p>
+ *
+ * @author jqs
+ * @since 2023-06-14
+ */
+@Data
+public class Store {
+
+ /**
+ * 主键
+ */
+ private Integer id;
+ /**
+ * 门店名称
+ */
+ private String name;
+ /**
+ * 门店店长id
+ */
+ private Integer storeStaffId;
+ /**
+ * 城市管理员id
+ */
+ private Integer cityManagerId;
+ /**
+ * 省
+ */
+ private String province;
+ /**
+ * 省编号
+ */
+ private String provinceCode;
+ /**
+ * 市
+ */
+ private String city;
+ /**
+ * 市编号
+ */
+ @TableField("cityCode")
+ private String cityCode;
+ /**
+ * 联系电话
+ */
+ private String phone;
+ /**
+ * 详细地址
+ */
+ private String address;
+ /**
+ * 纬度
+ */
+ private String lat;
+ /**
+ * 经度
+ */
+ private String lon;
+ /**
+ * 营业开始时间
+ */
+ private String startTime;
+ /**
+ * 营业结束时间
+ */
+ private String endTime;
+ /**
+ * 封面图
+ */
+ private String coverDrawing;
+ /**
+ * 实景图
+ */
+ private String realPicture;
+ /**
+ * 门店介绍
+ */
+ private String introduce;
+ /**
+ * 福利图片
+ */
+ private String welfarePicture;
+ /**
+ * 评分
+ */
+ private BigDecimal score;
+ /**
+ * 状态(1=正常,2=冻结,3=删除)
+ */
+ private Integer state;
+
+}
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/mapper/CouponCityMapper.java b/cloud-server-activity/src/main/java/com/dsh/activity/mapper/CouponCityMapper.java
new file mode 100644
index 0000000..02372f1
--- /dev/null
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/mapper/CouponCityMapper.java
@@ -0,0 +1,17 @@
+package com.dsh.activity.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.dsh.activity.entity.CouponCity;
+import com.dsh.activity.entity.CouponStore;
+
+/**
+ * <p>
+ * 优惠券使用门店关系数据 Mapper 接口
+ * </p>
+ *
+ * @author jqs
+ * @since 2023-07-07
+ */
+public interface CouponCityMapper extends BaseMapper<CouponCity> {
+
+}
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/service/CouponCityService.java b/cloud-server-activity/src/main/java/com/dsh/activity/service/CouponCityService.java
new file mode 100644
index 0000000..f60da6b
--- /dev/null
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/service/CouponCityService.java
@@ -0,0 +1,16 @@
+package com.dsh.activity.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.dsh.activity.entity.CouponCity;
+
+/**
+ * <p>
+ * 优惠券使用门店关系数据 服务类
+ * </p>
+ *
+ * @author jqs
+ * @since 2023-07-07
+ */
+public interface CouponCityService extends IService<CouponCity> {
+
+}
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/CouponCityServiceImpl.java b/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/CouponCityServiceImpl.java
new file mode 100644
index 0000000..9a51379
--- /dev/null
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/CouponCityServiceImpl.java
@@ -0,0 +1,20 @@
+package com.dsh.activity.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dsh.activity.entity.CouponCity;
+import com.dsh.activity.mapper.CouponCityMapper;
+import com.dsh.activity.service.CouponCityService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 优惠券使用门店关系数据 服务实现类
+ * </p>
+ *
+ * @author jqs
+ * @since 2023-07-07
+ */
+@Service
+public class CouponCityServiceImpl extends ServiceImpl<CouponCityMapper, CouponCity> implements CouponCityService {
+
+}
diff --git a/cloud-server-activity/src/main/resources/mapper/CouponCityMapper.xml b/cloud-server-activity/src/main/resources/mapper/CouponCityMapper.xml
new file mode 100644
index 0000000..9f0be1e
--- /dev/null
+++ b/cloud-server-activity/src/main/resources/mapper/CouponCityMapper.xml
@@ -0,0 +1,6 @@
+<?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.activity.mapper.CouponCityMapper">
+
+
+</mapper>
diff --git a/cloud-server-course/src/main/java/com/dsh/course/feignclient/other/StoreClient.java b/cloud-server-course/src/main/java/com/dsh/course/feignclient/other/StoreClient.java
index 447b5ae..1157a4c 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/feignclient/other/StoreClient.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/feignclient/other/StoreClient.java
@@ -34,5 +34,5 @@
Store queryStoreById(Integer id);
@PostMapping("/base/protocol/storeDetail/distanceCal")
- public long calculateDistance(@RequestBody GetDistanceVo distanceVo);
+ String calculateDistance(@RequestBody GetDistanceVo distanceVo);
}
diff --git a/cloud-server-course/src/main/java/com/dsh/course/model/vo/response/Details.java b/cloud-server-course/src/main/java/com/dsh/course/model/vo/response/Details.java
index a6c52bc..566bbe4 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/model/vo/response/Details.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/model/vo/response/Details.java
@@ -39,7 +39,7 @@
private Integer status;
@ApiModelProperty(value = "门店距离")
- private long storeDistance;
+ private String storeDistance;
}
diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageDiscountServiceImpl.java b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageDiscountServiceImpl.java
index e0f8400..0838569 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageDiscountServiceImpl.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageDiscountServiceImpl.java
@@ -82,16 +82,6 @@
if (integer >= maxSubscribeNumber){
continue;
}
- /**
- * [{
- * "startDate": "2023-01-01 00:00:00",
- * "endDate": "2023-12-31 23:59:59",
- * "startTime": "02:00:00",
- * "endTime": "23:00:00",
- * "weeks": [1, 2, 7],
- * "cashPayment": 100
- * }]
- */
try {
JSONArray jsonArray = JSON.parseArray(tCoursePackageDiscount.getContent());
JSONObject jsonObject = jsonArray.getJSONObject(0);
@@ -139,7 +129,8 @@
distanceVo.setLatitude(lat);
distanceVo.setLongitude(lon);
distanceVo.setStoreId(coursePackage.getStoreId());
- resde.setStoreDistance(sreClient.calculateDistance(distanceVo));
+ String s = sreClient.calculateDistance(distanceVo);
+ resde.setStoreDistance(s);
list.add(resde);
}
}
@@ -183,123 +174,116 @@
e.printStackTrace();
}
}
- } else {
- tCoursePackageDiscountQueryWrapper.eq("type", 4);
- tCoursePackageDiscounts = this.baseMapper.selectList(tCoursePackageDiscountQueryWrapper);
- if (tCoursePackageDiscounts.size() > 0) {
- for (TCoursePackageDiscount tCoursePackageDiscount : tCoursePackageDiscounts) {
- TCoursePackage coursePackage = tcpMapper.selectById(tCoursePackageDiscount.getCoursePackageId());
+ }
+ }else {
+ tCoursePackageDiscountQueryWrapper.eq("type", 4);
+ tCoursePackageDiscounts = this.baseMapper.selectList(tCoursePackageDiscountQueryWrapper);
+ if (tCoursePackageDiscounts.size() > 0) {
+ for (TCoursePackageDiscount tCoursePackageDiscount : tCoursePackageDiscounts) {
+ TCoursePackage coursePackage = tcpMapper.selectById(tCoursePackageDiscount.getCoursePackageId());
// 判断预约人数是否已满
- Integer maxSubscribeNumber = coursePackage.getMaxSubscribeNumber();
- Integer integer = tcppMapper.selectCount(new QueryWrapper<TCoursePackagePayment>()
- .eq("appUserId",appUserId )
- .eq("status",1));
- if (integer >= maxSubscribeNumber){
- continue;
- }
-// [{
-// "startDate": "2023-01-01 00:00:00",
-// "endDate": "2023-12-31 23:59:59",
-// "startTime": "02:00:00",
-// "endTime": "23:00:00",
-// "weeks": [1, 2, 7],
-// "hour": 10
-// }]
+ Integer maxSubscribeNumber = coursePackage.getMaxSubscribeNumber();
+ Integer integer = tcppMapper.selectCount(new QueryWrapper<TCoursePackagePayment>()
+ .eq("appUserId",appUserId )
+ .eq("status",1));
+ if (integer >= maxSubscribeNumber){
+ continue;
+ }
+ try {
+ JSONArray jsonArray = JSON.parseArray(tCoursePackageDiscount.getContent());
+ JSONObject jsonObject = jsonArray.getJSONObject(0);
+ Date parse1 = null;
+ Date parse2 = null;
+ String startDate = jsonObject.getString("startDate");
+ String endDate = jsonObject.getString("endDate");
try {
- JSONArray jsonArray = JSON.parseArray(tCoursePackageDiscount.getContent());
- JSONObject jsonObject = jsonArray.getJSONObject(0);
- Date parse1 = null;
- Date parse2 = null;
- String startDate = jsonObject.getString("startDate");
- String endDate = jsonObject.getString("endDate");
- try {
- parse1 = simpleDateFormat.parse(startDate);
- parse2 = simpleDateFormat.parse(endDate);
- } catch (ParseException e) {
- throw new RuntimeException(e);
- }
- List<Integer> weeks = jsonObject.getJSONArray("weeks").toJavaList(Integer.class);
- Integer cashPayment = jsonObject.getInteger("hour");
-
- Date tomorrowDate = null;
- if (weekStr != 7) {
- Calendar calendar = Calendar.getInstance();
- calendar.setTime(localTime);
- calendar.add(Calendar.DAY_OF_WEEK, 1);
- tomorrowDate = calendar.getTime();
- }
-
- boolean isWithinRange = false;
- if (weeks.contains(weekStr)) {
- isWithinRange = true;
- }
-
- if (isWithinRange) {
- // 判断当前日期是否在开始时间和结束时间范围内
- if (isDateWithinRange(localTime, parse1, parse2)) {
- Details resde = new Details();
-
- resde.setCoursePackageDiscountId(tCoursePackageDiscount.getId());
- resde.setImage(coursePackage.getCoverDrawing());
- resde.setCoursePackageName(coursePackage.getName());
- CoursePackagePaymentConfig paymentConfig = cppcMapper.selectById(tCoursePackageDiscount.getCoursePackagePaymentConfigId());
- resde.setCourseHours(paymentConfig.getClassHours());
- resde.setDonateHours(cashPayment);
- resde.setDataTime("今日");
- resde.setDate(localTime);
- resde.setOriginalPrice(paymentConfig.getCashPayment());
- resde.setStatus(1);
- GetDistanceVo distanceVo = new GetDistanceVo();
- distanceVo.setLatitude(lat);
- distanceVo.setLongitude(lon);
- distanceVo.setStoreId(coursePackage.getStoreId());
- resde.setStoreDistance(sreClient.calculateDistance(distanceVo));
- list.add(resde);
- }
- }
- Calendar tempCalendar = Calendar.getInstance();
- tempCalendar.setTime(localTime);
- tempCalendar.add(Calendar.DAY_OF_WEEK, 1);
-
- while (tempCalendar.get(Calendar.DAY_OF_WEEK) != Calendar.MONDAY) {
- Date tempDate = tempCalendar.getTime();
- int weekNumOfDate = DateTimeHelper.getWeekNumOfDate(tempDate);
- if (isDateWithinRange(tempDate, parse1, parse2) && weeks.contains(weekNumOfDate)) {
- Details resde = new Details();
-
- resde.setCoursePackageDiscountId(tCoursePackageDiscount.getId());
- resde.setImage(coursePackage.getCoverDrawing());
- resde.setCoursePackageName(coursePackage.getName());
- CoursePackagePaymentConfig paymentConfig = cppcMapper.selectById(tCoursePackageDiscount.getCoursePackagePaymentConfigId());
- resde.setCourseHours(paymentConfig.getClassHours());
- resde.setDonateHours(cashPayment);
- String weekOfDate = "";
- if (weekStr != 7 && tempDate.equals(tomorrowDate)) {
- weekOfDate = "明日";
- } else {
- weekOfDate = DateTimeHelper.getWeekOfDate(tempDate);
- }
- resde.setDataTime(weekOfDate);
- resde.setDate(tempDate);
- resde.setOriginalPrice(paymentConfig.getCashPayment());
- resde.setStatus(2);
- GetDistanceVo distanceVo = new GetDistanceVo();
- distanceVo.setLatitude(lat);
- distanceVo.setLongitude(lon);
- distanceVo.setStoreId(coursePackage.getStoreId());
- resde.setStoreDistance(sreClient.calculateDistance(distanceVo));
- list.add(resde);
- }
- tempCalendar.add(Calendar.DAY_OF_WEEK, 1);
- }
-
- } catch (Exception e) {
- e.printStackTrace();
+ parse1 = simpleDateFormat.parse(startDate);
+ parse2 = simpleDateFormat.parse(endDate);
+ } catch (ParseException e) {
+ throw new RuntimeException(e);
}
+ List<Integer> weeks = jsonObject.getJSONArray("weeks").toJavaList(Integer.class);
+ Integer cashPayment = jsonObject.getInteger("hour");
+
+ Date tomorrowDate = null;
+ if (weekStr != 7) {
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTime(localTime);
+ calendar.add(Calendar.DAY_OF_WEEK, 1);
+ tomorrowDate = calendar.getTime();
+ }
+
+ boolean isWithinRange = false;
+ if (weeks.contains(weekStr)) {
+ isWithinRange = true;
+ }
+
+ if (isWithinRange) {
+ // 判断当前日期是否在开始时间和结束时间范围内
+ if (isDateWithinRange(localTime, parse1, parse2)) {
+ Details resde = new Details();
+
+ resde.setCoursePackageDiscountId(tCoursePackageDiscount.getId());
+ resde.setImage(coursePackage.getCoverDrawing());
+ resde.setCoursePackageName(coursePackage.getName());
+ CoursePackagePaymentConfig paymentConfig = cppcMapper.selectById(tCoursePackageDiscount.getCoursePackagePaymentConfigId());
+ resde.setCourseHours(paymentConfig.getClassHours());
+ resde.setDonateHours(cashPayment);
+ resde.setDataTime("今日");
+ resde.setDate(localTime);
+ resde.setOriginalPrice(paymentConfig.getCashPayment());
+ resde.setStatus(1);
+ GetDistanceVo distanceVo = new GetDistanceVo();
+ distanceVo.setLatitude(lat);
+ distanceVo.setLongitude(lon);
+ distanceVo.setStoreId(coursePackage.getStoreId());
+ resde.setStoreDistance(sreClient.calculateDistance(distanceVo));
+ list.add(resde);
+ }
+ }
+ Calendar tempCalendar = Calendar.getInstance();
+ tempCalendar.setTime(localTime);
+ tempCalendar.add(Calendar.DAY_OF_WEEK, 1);
+
+ while (tempCalendar.get(Calendar.DAY_OF_WEEK) != Calendar.MONDAY) {
+ Date tempDate = tempCalendar.getTime();
+ int weekNumOfDate = DateTimeHelper.getWeekNumOfDate(tempDate);
+ if (isDateWithinRange(tempDate, parse1, parse2) && weeks.contains(weekNumOfDate)) {
+ Details resde = new Details();
+
+ resde.setCoursePackageDiscountId(tCoursePackageDiscount.getId());
+ resde.setImage(coursePackage.getCoverDrawing());
+ resde.setCoursePackageName(coursePackage.getName());
+ CoursePackagePaymentConfig paymentConfig = cppcMapper.selectById(tCoursePackageDiscount.getCoursePackagePaymentConfigId());
+ resde.setCourseHours(paymentConfig.getClassHours());
+ resde.setDonateHours(cashPayment);
+ String weekOfDate = "";
+ if (weekStr != 7 && tempDate.equals(tomorrowDate)) {
+ weekOfDate = "明日";
+ } else {
+ weekOfDate = DateTimeHelper.getWeekOfDate(tempDate);
+ }
+ resde.setDataTime(weekOfDate);
+ resde.setDate(tempDate);
+ resde.setOriginalPrice(paymentConfig.getCashPayment());
+ resde.setStatus(2);
+ GetDistanceVo distanceVo = new GetDistanceVo();
+ distanceVo.setLatitude(lat);
+ distanceVo.setLongitude(lon);
+ distanceVo.setStoreId(coursePackage.getStoreId());
+ resde.setStoreDistance(sreClient.calculateDistance(distanceVo));
+ list.add(resde);
+ }
+ tempCalendar.add(Calendar.DAY_OF_WEEK, 1);
+ }
+
+ } catch (Exception e) {
+ e.printStackTrace();
}
}
}
}
+ System.out.println("list"+list);
return list;
}
@@ -323,8 +307,8 @@
distanceVo.setLatitude(lat);
distanceVo.setLongitude(lon);
distanceVo.setStoreId(coursePackage.getStoreId());
- long l = sreClient.calculateDistance(distanceVo);
- packageResponse.setDistance(l);
+ String s = sreClient.calculateDistance(distanceVo);
+ packageResponse.setDistance(Double.valueOf(s));
JSONArray jsonArray = JSON.parseArray(coursePackageDiscount.getContent());
JSONObject jsonObject = jsonArray.getJSONObject(0);
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCouponExamineController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCouponExamineController.java
index 059366b..a7a7e02 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCouponExamineController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCouponExamineController.java
@@ -35,7 +35,7 @@
*/
@RequestMapping("")
public String index(Model model) {
- return PREFIX + "TCouponExamine.html";
+ return PREFIX + "TCouponExamineList.html";
}
@@ -54,15 +54,7 @@
ofSearch.setDistributionMethod(distributionMethod);
ofSearch.setUserPopulation(userPopulation);
ofSearch.setAuditStatus(auditStatus);
- List<Map<String, Object>> couponExamineListOfSearch = client.getCouponExamineListOfSearch(ofSearch);
- if (couponExamineListOfSearch.size() > 0){
- for (Map<String, Object> examineListOfSearch : couponExamineListOfSearch) {
- examineListOfSearch.put("province","");
- examineListOfSearch.put("city","");
- examineListOfSearch.put("account","");
- }
- }
- return couponExamineListOfSearch;
+ return client.getCouponExamineListOfSearch(ofSearch);
}
/**
@@ -70,9 +62,13 @@
*/
@RequestMapping(value = "/couponOfDetail/{id}")
@ResponseBody
- public Object detailOfCoupon(@PathVariable Integer id){
- Map<String,Object> couponMap = client.queryCouponExamineDetail(id);
- return null;// TODO: 2023/7/31
+ public String detailOfCoupon(@PathVariable Integer id, Model model){
+ Map<String, Object> stringObjectMap = client.queryCouponExamineDetail(id);
+ model.addAllAttributes(stringObjectMap);
+ return PREFIX + "TCouponExamineInfo.html";
}
+
+
+
}
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 16120ea..236f938 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
@@ -12,6 +12,7 @@
</div>
</div>
</div>
+
<div class="row">
<div class="col-sm-5">
<div class="form-group">
@@ -51,6 +52,7 @@
</div>
</div>
</div>
+
<div class="row">
<div class="col-sm-5">
<div class="form-group">
@@ -62,6 +64,7 @@
</div>
</div>
</div>
+
<div class="row">
<div class="col-sm-5">
<div class="form-group">
@@ -109,6 +112,7 @@
</div>
</div>
</div>
+
<div class="row" id="needIntegral">
<div class="col-sm-5">
<div class="form-group">
@@ -136,6 +140,7 @@
</div>
</div>
</div>
+
<div class="row" >
<div class="col-sm-5">
<div class="form-group">
@@ -153,6 +158,7 @@
</div>
</div>
</div>
+
<div class="row" >
<div class="col-sm-5">
<div class="form-group">
@@ -161,6 +167,7 @@
</div>
</div>
</div>
+
<div class="row" >
<div class="col-sm-5">
<div class="form-group">
@@ -168,14 +175,15 @@
</div>
</div>
</div>
+
<div class="row" >
<div class="col-sm-5">
<div class="form-group">
<label class="col-sm-3 control-label"><font style="color:red">*</font>商品图片(请上传不超过五张图片): </label>
+ <input id="file-1" type="file" multiple class="file" data-overwrite-initial="false">
</div>
</div>
</div>
-
<div class="row">
<div class="col-sm-5">
@@ -213,7 +221,6 @@
</div>
</div>
-
<div class="row" id="storeSelect">
<div class="col-sm-5">
<div class="form-group">
@@ -239,7 +246,6 @@
</div>
</div>
-
<div class="row">
<div class="row btn-group-m-t">
<div class="col-sm-10" style="margin-left: 20%;">
@@ -257,6 +263,11 @@
</div>
</div>
<script src="${ctxPath}/modular/system/tCoupon/TCouponInfo.js"></script>
+<!--引入fileinput样式-->
+<link href="https://cdn.bootcss.com/bootstrap-fileinput/4.5.1/css/fileinput.min.css" rel="stylesheet">
+<!--引入fileinput插件-->
+<script src="https://cdn.bootcss.com/bootstrap-fileinput/4.5.1/js/fileinput.min.js"></script>
+<script src="https://cdn.bootcss.com/bootstrap-fileinput/4.5.1/js/locales/zh.min.js"></script>
<script type="text/javascript">
laydate.render({
elem: '#periodOfValidity',
@@ -264,4 +275,24 @@
range: true
});
</script>
+<script>
+ $("#file-1").fileinput({
+ overwriteInitial: false,
+ previewFileType: "image",
+ allowedFileExtensions: ["jpg", "png", "gif"],
+ maxFileSize: 1024 * 10,
+ maxFilesNum: 10,
+ showUploadedThumbs: false,
+ resizeImage: true,
+ language: "zh",
+ initialPreview: [
+ "<img src='http://placehold.it/200x150' class='file-preview-image' alt='不支持预览'/>",
+ "<img src='http://placehold.it/200x150' class='file-preview-image' alt='不支持预览'/>"
+ ],
+ initialPreviewConfig: [
+ {caption: "image-1.jpg", size: 327360, width: "120px", url: "/images/delete", key: 1},
+ {caption: "image-2.png", size: 436389, width: "120px", url: "/images/delete", key: 2}
+ ]
+ });
+</script>
@}
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCouponExamine/TCouponExamineInfo.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCouponExamine/TCouponExamineInfo.html
new file mode 100644
index 0000000..090b1f0
--- /dev/null
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCouponExamine/TCouponExamineInfo.html
@@ -0,0 +1,145 @@
+@layout("/common/_container.html"){
+<div class="ibox float-e-margins">
+ <div class="ibox-content">
+ <div class="form-horizontal">
+
+ <div class="row">
+ <div class="col-sm-5">
+ <div class="form-group">
+ <label class="col-sm-3 control-label"><font style="color:red">*</font>当前状态: </label>
+ <div class="col-sm-9">
+ <label style="color: #c0a16b">待审核</label>
+ <label style="color: red">未通过</label>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="row">
+ <div class="col-sm-5">
+ <div class="form-group">
+ <label class="col-sm-3 control-label"><font style="color:red">*</font>发布省: </label>
+ <div class="col-sm-9">
+ <label style="color: #c0a16b">待审核</label>
+ <label style="color: red">未通过</label>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="row">
+ <div class="col-sm-5">
+ <div class="form-group">
+ <label class="col-sm-3 control-label"><font style="color:red">*</font>发布城市: </label>
+ <div class="col-sm-9">
+ <label style="color: #c0a16b">待审核</label>
+ <label style="color: red">未通过</label>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="row">
+ <div class="col-sm-5">
+ <div class="form-group">
+ <label class="col-sm-3 control-label"><font style="color:red">*</font>优惠券名称: </label>
+ <div class="col-sm-9">
+ <label style="color: #c0a16b">待审核</label>
+ <label style="color: red">未通过</label>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="row">
+ <div class="col-sm-5">
+ <div class="form-group">
+ <label class="col-sm-3 control-label"><font style="color:red">*</font>优惠券类型: </label>
+ <div class="col-sm-9">
+ <label style="color: #c0a16b">满减券:满</label>
+ <input value="${num1}">
+ <label style="color: red">元,减</label>
+ <input value="${num2}">
+ <label style="color: red">元</label>
+ </div>
+ <div class="col-sm-9">
+ <label style="color: #c0a16b">代金券:可抵</label>
+ <input value="${num1}">
+ <label style="color: red">元</label>
+ </div>
+ <div class="col-sm-9">
+ <label style="color: #c0a16b">优惠券:满</label>
+ <input value="${num1}">
+ <label style="color: red">元,减</label>
+ <input>
+ <label style="color: red">元</label>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="row">
+ <div class="col-sm-5">
+ <div class="form-group">
+ <label class="col-sm-3 control-label"><font style="color:red">*</font>发布城市: </label>
+ <div class="col-sm-9">
+ <label style="color: #c0a16b">待审核</label>
+ <label style="color: red">未通过</label>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="row">
+ <div class="col-sm-5">
+ <div class="form-group">
+ <label class="col-sm-3 control-label"><font style="color:red">*</font>发布城市: </label>
+ <div class="col-sm-9">
+ <label style="color: #c0a16b">待审核</label>
+ <label style="color: red">未通过</label>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="row">
+ <div class="col-sm-5">
+ <div class="form-group">
+ <label class="col-sm-3 control-label"><font style="color:red">*</font>发布城市: </label>
+ <div class="col-sm-9">
+ <label style="color: #c0a16b">待审核</label>
+ <label style="color: red">未通过</label>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="row">
+ <div class="col-sm-5">
+ <div class="form-group">
+ <label class="col-sm-3 control-label"><font style="color:red">*</font>发布城市: </label>
+ <div class="col-sm-9">
+ <label style="color: #c0a16b">待审核</label>
+ <label style="color: red">未通过</label>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+ <div class="row">
+ <div class="row btn-group-m-t">
+ <div class="col-sm-10" style="margin-left: 20%;">
+ <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser"
+ clickFun="couponInfoDlg.close()"/>
+ </div>
+ <div class="col-sm-10" style="margin-left: 35%;margin-top: -2.5%">
+ <#button btnCss="info" name="保存" id="ensure" icon="fa-check"
+ clickFun="couponInfoDlg.addSubmit()"/>
+ </div>
+ </div>
+ </div>
+
+ </div>
+ </div>
+</div>
+<script src="${ctxPath}/modular/system/tCouponExamine/TCouponExamine.js"></script>
+@}
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCouponExamine/TCouponExamine.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCouponExamine/TCouponExamineList.html
similarity index 100%
rename from cloud-server-management/src/main/webapp/WEB-INF/view/system/tCouponExamine/TCouponExamine.html
rename to cloud-server-management/src/main/webapp/WEB-INF/view/system/tCouponExamine/TCouponExamineList.html
diff --git a/cloud-server-other/src/main/java/com/dsh/other/controller/StoreController.java b/cloud-server-other/src/main/java/com/dsh/other/controller/StoreController.java
index 0ee10ba..73540c5 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/controller/StoreController.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/controller/StoreController.java
@@ -1,6 +1,7 @@
package com.dsh.other.controller;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.dsh.other.entity.Store;
import com.dsh.other.feignclient.model.*;
@@ -89,12 +90,11 @@
* @return
*/
@PostMapping("/base/protocol/storeDetail/distanceCal")
- public long calculateDistance(@RequestBody GetDistanceVo distanceVo){
+ public String calculateDistance(@RequestBody GetDistanceVo distanceVo){
String current = distanceVo.getLongitude()+","+distanceVo.getLatitude();
Store store = storeService.getById(distanceVo.getStoreId());
String result = store.getLon()+","+store.getLat();
- String distanceTOKilometer = gdMapGeocodingUtil.getDistanceTOKilometer(current, result);
- return Long.parseLong(distanceTOKilometer);
+ return gdMapGeocodingUtil.getDistanceTOKilometer(current, result);
}
@@ -149,6 +149,22 @@
}
+ /**
+ * 获取门店列表
+ * @return
+ */
+ @ResponseBody
+ @PostMapping("/store/queryStoreByIds")
+ public List<Store> queryStoreByIds(List<Integer> ids){
+ try {
+ return storeService.list(new LambdaQueryWrapper<Store>()
+ .in(Store::getId,ids));
+ }catch (Exception e){
+ e.printStackTrace();
+ return new ArrayList<>();
+ }
+ }
+
diff --git a/cloud-server-other/src/main/java/com/dsh/other/feignclient/StoreClient.java b/cloud-server-other/src/main/java/com/dsh/other/feignclient/StoreClient.java
index 04c4472..ec672e4 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/feignclient/StoreClient.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/feignclient/StoreClient.java
@@ -23,7 +23,7 @@
@PostMapping("/base/protocol/storeDetail/distanceCal")
- public long calculateDistance(@RequestBody GetDistanceVo distanceVo);
+ double calculateDistance(@RequestBody GetDistanceVo distanceVo);
@PostMapping("/base/protocol/storeDetail/citycodeLoLa")
List<StoreDetailList> getQueryStoreList(@RequestBody StoreOfCitycodeResp citycodeResp);
diff --git a/cloud-server-other/src/main/java/com/dsh/other/util/GDMapGeocodingUtil.java b/cloud-server-other/src/main/java/com/dsh/other/util/GDMapGeocodingUtil.java
index 92ac86d..82f2394 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/util/GDMapGeocodingUtil.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/util/GDMapGeocodingUtil.java
@@ -199,11 +199,14 @@
String queryResult = getResponse(queryUrl);
JSONObject job = JSONObject.parseObject(queryResult);
JSONArray ja = job.getJSONArray("results");
+ if (ja.size() == 0){
+ return 0.00 + "";
+ }
JSONObject jobO = JSONObject.parseObject(ja.getString(0));
result = Long.parseLong(jobO.get("distance").toString());
- double kilDis = (double) result / 1000;
DecimalFormat decimalFormat = new DecimalFormat("#.00");
- return decimalFormat.format(kilDis);
+ double demo = result / 1000;
+ return decimalFormat.format(demo);
} catch (Exception e) {
throw new RuntimeException();
}
--
Gitblit v1.7.1