diff --git a/sql/yshop2.1升级sql.txt b/sql/yshop2.1升级sql.txt
index 9246913a..7d70ed89 100644
--- a/sql/yshop2.1升级sql.txt
+++ b/sql/yshop2.1升级sql.txt
@@ -14,5 +14,9 @@ CREATE TABLE `yx_system_store_staff` (
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COMMENT='门店店员表';
-ALTER TABLE `yshop`.`yx_user_recharge`
-ADD COLUMN `give_price` decimal(8, 2) NULL DEFAULT 0 COMMENT '赠送金额' AFTER `price`
\ No newline at end of file
+ALTER TABLE `yx_user_recharge`
+ADD COLUMN `give_price` decimal(8, 2) NULL DEFAULT 0 COMMENT '赠送金额' AFTER `price`
+
+ALTER TABLE `yx_system_attachment`
+ADD COLUMN `uid` int(0) UNSIGNED NULL DEFAULT 0 COMMENT '用户id' AFTER `module_type`,
+ADD COLUMN `invite_code` varchar(50) NULL DEFAULT '' COMMENT '邀请码' AFTER `uid`
\ No newline at end of file
diff --git a/sql/yx_system_store.sql b/sql/yx_system_store.sql
deleted file mode 100644
index 4f2daf0a..00000000
--- a/sql/yx_system_store.sql
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- Navicat Premium Data Transfer
-
- Source Server : localhost
- Source Server Type : MySQL
- Source Server Version : 50723
- Source Host : localhost:3306
- Source Schema : yxshop
-
- Target Server Type : MySQL
- Target Server Version : 50723
- File Encoding : 65001
-
- Date: 06/03/2020 21:11:30
-*/
-
-SET NAMES utf8mb4;
-SET FOREIGN_KEY_CHECKS = 0;
-
--- ----------------------------
--- Table structure for yx_system_store
--- ----------------------------
-DROP TABLE IF EXISTS `yx_system_store`;
-CREATE TABLE `yx_system_store` (
- `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
- `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '门店名称',
- `introduction` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '简介',
- `phone` char(25) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '手机号码',
- `address` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '省市区',
- `detailed_address` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '详细地址',
- `image` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '门店logo',
- `latitude` char(25) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '纬度',
- `longitude` char(25) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '经度',
- `valid_time` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '核销有效日期',
- `day_time` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '每日营业开关时间',
- `add_time` int(11) NOT NULL DEFAULT 0 COMMENT '添加时间',
- `is_show` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否显示',
- `is_del` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
- `day_time_end` datetime(0) NULL DEFAULT NULL,
- `day_time_start` datetime(0) NULL DEFAULT NULL,
- `valid_time_end` datetime(0) NULL DEFAULT NULL,
- `valid_time_start` datetime(0) NULL DEFAULT NULL,
- PRIMARY KEY (`id`) USING BTREE,
- INDEX `phone`(`phone`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '门店自提' ROW_FORMAT = Dynamic;
-
-SET FOREIGN_KEY_CHECKS = 1;
diff --git a/sql/yx_user_recharge.sql b/sql/yx_user_recharge.sql
deleted file mode 100644
index 8195df77..00000000
--- a/sql/yx_user_recharge.sql
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- Navicat Premium Data Transfer
-
- Source Server : localhost
- Source Server Type : MySQL
- Source Server Version : 50723
- Source Host : localhost:3306
- Source Schema : yxshop
-
- Target Server Type : MySQL
- Target Server Version : 50723
- File Encoding : 65001
-
- Date: 06/03/2020 21:11:57
-*/
-
-SET NAMES utf8mb4;
-SET FOREIGN_KEY_CHECKS = 0;
-
--- ----------------------------
--- Table structure for yx_user_recharge
--- ----------------------------
-DROP TABLE IF EXISTS `yx_user_recharge`;
-CREATE TABLE `yx_user_recharge` (
- `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
- `uid` int(10) NULL DEFAULT NULL COMMENT '充值用户UID',
- `nickname` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '',
- `order_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '订单号',
- `price` decimal(8, 2) NULL DEFAULT NULL COMMENT '充值金额',
- `recharge_type` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '充值类型',
- `paid` tinyint(1) NULL DEFAULT NULL COMMENT '是否充值',
- `pay_time` int(10) NULL DEFAULT NULL COMMENT '充值支付时间',
- `add_time` int(12) NULL DEFAULT NULL COMMENT '充值时间',
- `refund_price` decimal(10, 2) NULL DEFAULT 0.00 COMMENT '退款金额',
- PRIMARY KEY (`id`) USING BTREE,
- UNIQUE INDEX `order_id`(`order_id`) USING BTREE,
- INDEX `uid`(`uid`) USING BTREE,
- INDEX `recharge_type`(`recharge_type`) USING BTREE,
- INDEX `paid`(`paid`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '用户充值表' ROW_FORMAT = Dynamic;
-
-SET FOREIGN_KEY_CHECKS = 1;
diff --git a/yshop-api/src/main/java/co/yixiang/modules/activity/web/controller/StoreSeckillController.java b/yshop-api/src/main/java/co/yixiang/modules/activity/web/controller/StoreSeckillController.java
index 4274b2a9..432714a2 100644
--- a/yshop-api/src/main/java/co/yixiang/modules/activity/web/controller/StoreSeckillController.java
+++ b/yshop-api/src/main/java/co/yixiang/modules/activity/web/controller/StoreSeckillController.java
@@ -41,10 +41,10 @@ import java.util.concurrent.atomic.AtomicInteger;
/**
*
- * 商品秒杀产品 前端控制器
+ * 商品秒杀产品前端控制器
*
*
- * @author xuwenbo
+ * @author hupeng
* @since 2019-12-14
*/
@Slf4j
diff --git a/yshop-api/src/main/java/co/yixiang/modules/order/service/impl/YxStoreOrderServiceImpl.java b/yshop-api/src/main/java/co/yixiang/modules/order/service/impl/YxStoreOrderServiceImpl.java
index 80c96af7..c65b5035 100644
--- a/yshop-api/src/main/java/co/yixiang/modules/order/service/impl/YxStoreOrderServiceImpl.java
+++ b/yshop-api/src/main/java/co/yixiang/modules/order/service/impl/YxStoreOrderServiceImpl.java
@@ -1459,13 +1459,14 @@ public class YxStoreOrderServiceImpl extends BaseServiceImpl 0 && userInfo.getIntegral().doubleValue() > 0){
Double integralMax = Double.valueOf(cacheDTO.getOther().getIntegralMax());
Double integralFull = Double.valueOf(cacheDTO.getOther().getIntegralFull());
Double integralRatio = Double.valueOf(cacheDTO.getOther().getIntegralRatio());
if(computeDTO.getTotalPrice() >= integralFull){
Double userIntegral = userInfo.getIntegral().doubleValue();
- if(userIntegral >= integralMax) userIntegral = integralMax;
+ if(integralMax > 0 && userIntegral >= integralMax) userIntegral = integralMax;
deductionPrice = NumberUtil.mul(userIntegral, integralRatio);
if(deductionPrice < payPrice){
payPrice = NumberUtil.sub(payPrice.doubleValue(),deductionPrice);
diff --git a/yshop-api/src/main/java/co/yixiang/modules/order/web/controller/StoreOrderController.java b/yshop-api/src/main/java/co/yixiang/modules/order/web/controller/StoreOrderController.java
index 2d3093be..453b6181 100644
--- a/yshop-api/src/main/java/co/yixiang/modules/order/web/controller/StoreOrderController.java
+++ b/yshop-api/src/main/java/co/yixiang/modules/order/web/controller/StoreOrderController.java
@@ -450,10 +450,11 @@ public class StoreOrderController extends BaseController {
if(ObjectUtil.isNull(storeOrder)){
return ApiResult.fail("订单不存在");
}
- String mapKey = RedisUtil.get("tengxun_map_key");
- if(StrUtil.isBlank(mapKey)) return ApiResult.fail("请配置腾讯地图key");
+
//门店
if(OrderInfoEnum.SHIPPIING_TYPE_2.getValue().equals(storeOrder.getShippingType())){
+ String mapKey = RedisUtil.get("tengxun_map_key");
+ if(StrUtil.isBlank(mapKey)) return ApiResult.fail("请配置腾讯地图key");
String apiUrl = systemConfigService.getData("api_url");
if(StrUtil.isEmpty(apiUrl)){
return ApiResult.fail("未配置api地址");
diff --git a/yshop-api/src/main/java/co/yixiang/modules/security/rest/AuthController.java b/yshop-api/src/main/java/co/yixiang/modules/security/rest/AuthController.java
index 3abdc93c..61154c11 100644
--- a/yshop-api/src/main/java/co/yixiang/modules/security/rest/AuthController.java
+++ b/yshop-api/src/main/java/co/yixiang/modules/security/rest/AuthController.java
@@ -522,8 +522,10 @@ public class AuthController {
//设置推广关系
if (StrUtil.isNotBlank(param.getInviteCode())) {
YxSystemAttachment systemAttachment = systemAttachmentService.getByCode(param.getInviteCode());
- userService.setSpread(systemAttachment.getUid(),
- user.getUid());
+ if(systemAttachment != null){
+ userService.setSpread(systemAttachment.getUid(),
+ user.getUid());
+ }
}
return ApiResult.ok("注册成功");
diff --git a/yshop-api/src/main/java/co/yixiang/modules/shop/service/impl/YxSystemStoreServiceImpl.java b/yshop-api/src/main/java/co/yixiang/modules/shop/service/impl/YxSystemStoreServiceImpl.java
index 83ce2d96..20d1506b 100644
--- a/yshop-api/src/main/java/co/yixiang/modules/shop/service/impl/YxSystemStoreServiceImpl.java
+++ b/yshop-api/src/main/java/co/yixiang/modules/shop/service/impl/YxSystemStoreServiceImpl.java
@@ -1,3 +1,11 @@
+/**
+ * Copyright (C) 2018-2019
+ * All rights reserved, Designed By www.yixiang.co
+ * 注意:
+ * 本软件为www.yixiang.co开发研制,未经购买不得使用
+ * 购买后可获得全部源代码(禁止转卖、分享、上传到码云、github等开源平台)
+ * 一经发现盗用、分享等行为,将追究法律责任,后果自负
+ */
package co.yixiang.modules.shop.service.impl;
import cn.hutool.core.util.NumberUtil;
diff --git a/yshop-api/src/main/java/co/yixiang/modules/shop/service/impl/YxSystemStoreStaffServiceImpl.java b/yshop-api/src/main/java/co/yixiang/modules/shop/service/impl/YxSystemStoreStaffServiceImpl.java
index 34e6f77f..9aebcc06 100644
--- a/yshop-api/src/main/java/co/yixiang/modules/shop/service/impl/YxSystemStoreStaffServiceImpl.java
+++ b/yshop-api/src/main/java/co/yixiang/modules/shop/service/impl/YxSystemStoreStaffServiceImpl.java
@@ -1,3 +1,11 @@
+/**
+ * Copyright (C) 2018-2019
+ * All rights reserved, Designed By www.yixiang.co
+ * 注意:
+ * 本软件为www.yixiang.co开发研制,未经购买不得使用
+ * 购买后可获得全部源代码(禁止转卖、分享、上传到码云、github等开源平台)
+ * 一经发现盗用、分享等行为,将追究法律责任,后果自负
+ */
package co.yixiang.modules.shop.service.impl;
import co.yixiang.modules.shop.entity.YxSystemStoreStaff;
diff --git a/yshop-api/src/main/resources/config/application-prod.yml b/yshop-api/src/main/resources/config/application-prod.yml
index 3261dee2..637b17c8 100644
--- a/yshop-api/src/main/resources/config/application-prod.yml
+++ b/yshop-api/src/main/resources/config/application-prod.yml
@@ -4,7 +4,7 @@ spring:
druid:
type: com.alibaba.druid.pool.DruidDataSource
driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
- url: jdbc:log4jdbc:mysql://localhost:3306/yshop?serverTimezone=Asia/Shanghai&useSSL=false
+ url: jdbc:log4jdbc:mysql://localhost:3306/yshop?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false
username: yshop
password:
diff --git a/yshop-shop/src/main/java/co/yixiang/modules/shop/domain/YxStoreCategory.java b/yshop-shop/src/main/java/co/yixiang/modules/shop/domain/YxStoreCategory.java
index 1b3c12a0..c5f182b9 100644
--- a/yshop-shop/src/main/java/co/yixiang/modules/shop/domain/YxStoreCategory.java
+++ b/yshop-shop/src/main/java/co/yixiang/modules/shop/domain/YxStoreCategory.java
@@ -9,6 +9,7 @@ import lombok.Setter;
import javax.persistence.*;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
+import java.util.List;
import java.util.Objects;
/**
@@ -36,6 +37,10 @@ public class YxStoreCategory implements Serializable {
@NotBlank(message = "分类名称不能为空")
private String cateName;
+// @OneToMany
+// @JoinColumn(name = "cate_id")
+// private List storeProducts;
+
// 排序
@Column(name = "sort",nullable = false)
private Integer sort;
diff --git a/yshop-shop/src/main/java/co/yixiang/modules/shop/domain/YxStoreProduct.java b/yshop-shop/src/main/java/co/yixiang/modules/shop/domain/YxStoreProduct.java
index bd57810f..658eca4c 100644
--- a/yshop-shop/src/main/java/co/yixiang/modules/shop/domain/YxStoreProduct.java
+++ b/yshop-shop/src/main/java/co/yixiang/modules/shop/domain/YxStoreProduct.java
@@ -59,10 +59,10 @@ public class YxStoreProduct implements Serializable {
@Column(name = "bar_code",nullable = false)
private String barCode;
- // 分类id
- @Column(name = "cate_id",nullable = false)
- @NotBlank(message = "请选择分类")
- private String cateId;
+
+ @ManyToOne(fetch=FetchType.LAZY,optional = false)
+ @JoinColumn(name = "cate_id")
+ private YxStoreCategory storeCategory;
// 商品价格
@Column(name = "price",nullable = false)
diff --git a/yshop-shop/src/main/java/co/yixiang/modules/shop/domain/YxStoreProductReply.java b/yshop-shop/src/main/java/co/yixiang/modules/shop/domain/YxStoreProductReply.java
index 125a0a8d..a8a4a2b1 100644
--- a/yshop-shop/src/main/java/co/yixiang/modules/shop/domain/YxStoreProductReply.java
+++ b/yshop-shop/src/main/java/co/yixiang/modules/shop/domain/YxStoreProductReply.java
@@ -23,8 +23,12 @@ public class YxStoreProductReply implements Serializable {
private Integer id;
// 用户ID
- @Column(name = "uid",nullable = false)
- private Integer uid;
+// @Column(name = "uid",nullable = false)
+// private Integer uid;
+
+ @ManyToOne(fetch=FetchType.LAZY,optional = false)
+ @JoinColumn(name = "uid")
+ private YxUser user;
// 订单ID
@Column(name = "oid",nullable = false)
@@ -35,8 +39,12 @@ public class YxStoreProductReply implements Serializable {
private String unique;
// 产品id
- @Column(name = "product_id",nullable = false)
- private Integer productId;
+// @Column(name = "product_id",nullable = false)
+// private Integer productId;
+
+ @ManyToOne(fetch=FetchType.LAZY,optional = false)
+ @JoinColumn(name = "product_id")
+ private YxStoreProduct storeProduct;
// 某种商品类型(普通商品、秒杀商品)
@Column(name = "reply_type",nullable = false)
diff --git a/yshop-shop/src/main/java/co/yixiang/modules/shop/repository/YxStoreProductRepository.java b/yshop-shop/src/main/java/co/yixiang/modules/shop/repository/YxStoreProductRepository.java
index c9d9ed69..16d60a2a 100644
--- a/yshop-shop/src/main/java/co/yixiang/modules/shop/repository/YxStoreProductRepository.java
+++ b/yshop-shop/src/main/java/co/yixiang/modules/shop/repository/YxStoreProductRepository.java
@@ -1,5 +1,6 @@
package co.yixiang.modules.shop.repository;
+import co.yixiang.modules.shop.domain.YxStoreCategory;
import co.yixiang.modules.shop.domain.YxStoreProduct;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
@@ -21,5 +22,5 @@ public interface YxStoreProductRepository extends JpaRepository findByCateId(String cateId);
+ List findByStoreCategory(YxStoreCategory storeCategory);
}
\ No newline at end of file
diff --git a/yshop-shop/src/main/java/co/yixiang/modules/shop/rest/StoreOrderController.java b/yshop-shop/src/main/java/co/yixiang/modules/shop/rest/StoreOrderController.java
index a4ffbd27..4d3124cc 100644
--- a/yshop-shop/src/main/java/co/yixiang/modules/shop/rest/StoreOrderController.java
+++ b/yshop-shop/src/main/java/co/yixiang/modules/shop/rest/StoreOrderController.java
@@ -15,10 +15,7 @@ import co.yixiang.modules.activity.service.YxStorePinkService;
import co.yixiang.modules.activity.service.dto.YxStorePinkDTO;
import co.yixiang.modules.shop.domain.YxStoreOrder;
import co.yixiang.modules.shop.domain.YxStoreOrderStatus;
-import co.yixiang.modules.shop.service.YxExpressService;
-import co.yixiang.modules.shop.service.YxStoreOrderService;
-import co.yixiang.modules.shop.service.YxStoreOrderStatusService;
-import co.yixiang.modules.shop.service.YxWechatUserService;
+import co.yixiang.modules.shop.service.*;
import co.yixiang.modules.shop.service.dto.YxExpressDTO;
import co.yixiang.modules.shop.service.dto.YxStoreOrderDTO;
import co.yixiang.modules.shop.service.dto.YxStoreOrderQueryCriteria;
@@ -61,6 +58,7 @@ public class StoreOrderController {
private final YxStorePinkService storePinkService;
private final ExpressService expressService;
+
public StoreOrderController(YxStoreOrderService yxStoreOrderService, YxStoreOrderStatusService yxStoreOrderStatusService,
YxExpressService yxExpressService, YxWechatUserService wechatUserService,
RedisTemplate redisTemplate,
diff --git a/yshop-shop/src/main/java/co/yixiang/modules/shop/rest/SystemConfigController.java b/yshop-shop/src/main/java/co/yixiang/modules/shop/rest/SystemConfigController.java
index a8274e9f..57cb5c73 100644
--- a/yshop-shop/src/main/java/co/yixiang/modules/shop/rest/SystemConfigController.java
+++ b/yshop-shop/src/main/java/co/yixiang/modules/shop/rest/SystemConfigController.java
@@ -48,6 +48,7 @@ public class SystemConfigController {
@Log("新增或修改")
@ApiOperation(value = "新增或修改")
@PostMapping(value = "/yxSystemConfig")
+ @CacheEvict(cacheNames = ShopConstants.YSHOP_REDIS_INDEX_KEY,allEntries = true)
@PreAuthorize("@el.check('admin','YXSYSTEMCONFIG_ALL','YXSYSTEMCONFIG_CREATE')")
public ResponseEntity create(@RequestBody String jsonStr){
//if(StrUtil.isNotEmpty("22")) throw new BadRequestException("演示环境禁止操作");
diff --git a/yshop-shop/src/main/java/co/yixiang/modules/shop/rest/SystemStoreController.java b/yshop-shop/src/main/java/co/yixiang/modules/shop/rest/SystemStoreController.java
index 4402d5c3..20172ed2 100644
--- a/yshop-shop/src/main/java/co/yixiang/modules/shop/rest/SystemStoreController.java
+++ b/yshop-shop/src/main/java/co/yixiang/modules/shop/rest/SystemStoreController.java
@@ -39,6 +39,15 @@ public class SystemStoreController {
this.yxSystemStoreService = yxSystemStoreService;
}
+
+ @Log("所有门店")
+ @ApiOperation("所有门店")
+ @GetMapping(value = "/all")
+ @PreAuthorize("@el.check('yxSystemStore:list')")
+ public ResponseEntity