Commit 14c7a993 by 不悦

ycf0721

parent 31c86a90
......@@ -2,16 +2,16 @@ server:
port: 8085
spring:
datasource:
# url: jdbc:mysql://rm-m5ee12omj4y0g741d0o.mysql.rds.aliyuncs.com:3306/retail_shops?allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true
# username: kszzshop
# password: eE12omj4y0g7#
# driver-class-name: com.mysql.cj.jdbc.Driver
# type: com.zaxxer.hikari.HikariDataSource
url: jdbc:mysql://localhost:3306/yami_shops?allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true
username: root
password: root
url: jdbc:mysql://rm-m5ee12omj4y0g741d0o.mysql.rds.aliyuncs.com:3306/retail_shops?allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true
username: kszzshop
password: eE12omj4y0g7#
driver-class-name: com.mysql.cj.jdbc.Driver
type: com.zaxxer.hikari.HikariDataSource
# url: jdbc:mysql://localhost:3306/yami_shops?allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true
# username: root
# password: root
# driver-class-name: com.mysql.cj.jdbc.Driver
# type: com.zaxxer.hikari.HikariDataSource
hikari:
minimum-idle: 0
maximum-pool-size: 20
......
......@@ -29,6 +29,11 @@
<version>${yami.shop.version}</version>
</dependency>
<dependency>
<groupId>org.jdom</groupId>
<artifactId>jdom</artifactId>
<version>2.0.2</version>
</dependency>
</dependencies>
<build>
......
......@@ -24,6 +24,7 @@ import org.springframework.context.annotation.ComponentScan;
@ComponentScan(basePackages = {"com.yami.shop"})
public class ApiApplication extends SpringBootServletInitializer{
public static void main(String[] args) {
SpringApplication.run(ApiApplication.class, args);
}
......
......@@ -2,31 +2,33 @@ package com.yami.shop.api.controller;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.google.common.collect.Maps;
import com.yami.shop.bean.enums.SmsType;
import com.yami.shop.bean.app.dto.ProductDto;
import com.yami.shop.bean.model.*;
import com.yami.shop.common.util.PageParam;
import com.yami.shop.security.util.SecurityUtils;
import com.yami.shop.service.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import ma.glasnost.orika.MapperFacade;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.beans.Transient;
import java.util.*;
@RestController
@RequestMapping("/bargain")
@Api(tags="砍价商品列表")
@AllArgsConstructor
public class BargainController {
private final MapperFacade mapperFacade;
@Autowired
private BargainService bargainService;
......@@ -43,6 +45,9 @@ public class BargainController {
@Autowired
private SmsLogService smsLogService;
@Autowired
private ProdController prodController;
/**
* 分页获取商品信息
*/
......@@ -59,8 +64,8 @@ public class BargainController {
}
int count = bargainSendService.selectFinishOrderTask(bargain.getId(),1);
bargain.setSendCount(count);
Product product = productService.getProductByProdId(bargain.getProdId());
bargain.setProduct(product);
ProductDto product = prodController.prodInfoBargain(bargain.getProdId());
bargain.setProductDto(product);
}
return ResponseEntity.ok(bargains);
......@@ -73,32 +78,44 @@ public class BargainController {
@ApiOperation(value = "砍价商品详情", notes = "获取砍价商品详情")
public ResponseEntity<Bargain> info (@PathVariable("id") Long id) {
Bargain bargain = bargainService.getBargainById(id);
Product product = productService.getProductByProdId(bargain.getProdId());
int count = bargainSendService.selectFinishOrderTask(bargain.getId(),1);
bargain.setCount(count);
bargain.setProduct(product);
if(ObjectUtil.isNotNull(bargain)){
ProductDto product = prodController.prodInfoBargain(bargain.getProdId());
int count = 0;
count = bargainSendService.selectFinishOrderTask(bargain.getId(),1);
bargain.setCount(count);
if(ObjectUtil.isNotNull(product)){
bargain.setProductDto(product);
}
}
return ResponseEntity.ok(bargain);
}
/**
* 发布砍价任务新增&&获取发起人砍价任务详情
*/
@Transactional
@PostMapping("/saveInfoBargainSend/")
@PostMapping("/saveInfoBargainSend")
@ApiOperation(value = "发起人砍价任务详情", notes = "新增发起人信息&&获取发起人砍价任务详情")
public ResponseEntity<BargainSend> saveInfoBargainSend(@Valid @RequestBody BargainSend bargainSend) {
BargainSend BS=bargainSendService.selectBargainTask(bargainSend.getUserId(),bargainSend.getActivityId());
String userId = SecurityUtils.getUser().getUserId();
if(bargainSend.getUserId()!=null && !bargainSend.getUserId().equals("")){
userId = bargainSend.getUserId();
}
BargainSend BS=bargainSendService.selectBargainTask(userId,bargainSend.getActivityId());
if(ObjectUtil.isNull(BS)){
bargainSend.setCreatedAt(new Date());
bargainSend.setIsAddorder(0);//未下单
bargainSend.setCreatedUser(userId);
bargainSend.setCreatedUser(userId);
bargainSendService.saveBargainSend(bargainSend);
BS=bargainSendService.selectBargainTask(bargainSend.getUserId(),bargainSend.getActivityId());
BS=bargainSendService.selectBargainTask(userId,bargainSend.getActivityId());
}
Product product = productService.getProductByProdId(bargainSend.getProdId());
BS.setProduct(product);
// Product product = productService.getProductByProdId(bargainSend.getProdId());
ProductDto product = prodController.prodInfoBargain(bargainSend.getProdId());
BS.setProductDto(product);
Bargain bargain = bargainService.getBargainById(bargainSend.getActivityId());
BS.setBargain(bargain);
List<BargainHelp> bargainHelpList = bargainHelpService.selectListByBargainOrderId(bargainSend.getId());
List<BargainHelp> bargainHelpList = bargainHelpService.selectListByBargainOrderId(BS.getId());
double cutMoney = 0;
if(ObjectUtil.isNotNull(bargainHelpList)){
BS.setBargainHelpList(bargainHelpList);
......@@ -118,74 +135,97 @@ public class BargainController {
@PostMapping("/helpBargain")
@ApiOperation(value = "帮好友砍价", notes = "帮好友砍价")
public ResponseEntity<String> helpBargain (@Valid @RequestBody BargainHelpParm bargainHelpParm) {
SmsLog smsLog = smsLogService.selectSmsByMobileAndType(bargainHelpParm.getUserMobile(),1);
if(bargainHelpParm.getCode().equals(smsLog.getMobileCode())){
User user = userService.getUserByUserMobile(bargainHelpParm.getUserMobile());//帮助者电话
if(ObjectUtil.isNotNull(user)){
BargainHelp bargainHelp = bargainHelpService.selectBargainHelp(bargainHelpParm.getBargainOrderId(),user.getUserId());
if(ObjectUtil.isNotNull(bargainHelp)){
return ResponseEntity.ok("您已帮该用户砍过价了");
}
String userId = SecurityUtils.getUser().getUserId();
User user = userService.getById(userId);
BargainHelp BH = bargainHelpService.selectBargainHelp(bargainHelpParm.getBargainOrderId(),userId);
if(ObjectUtil.isNotNull(BH)){
return ResponseEntity.ok("您已帮该用户砍过价了");
}
Bargain bargain = bargainService.getBargainById(bargainHelpParm.getActivityId());//取能砍的最低价格
Product product = productService.getProductByProdId(bargainHelpParm.getProdId());//查询商品原价
//查询发起人对应的砍价者砍价合计
List<BargainHelp> bargainHelpList=bargainHelpService.selectListByBargainOrderId(bargainHelpParm.getBargainOrderId());
double cutMoneys =0;
for(BargainHelp bargainHelp:bargainHelpList){
cutMoneys += bargainHelp.getBargainMoney();
}
double canCut = product.getPrice()-cutMoneys;//能砍的价格
double randNumber = 0;
//对比
Random rand = new Random();
double MAX =0;
double MIN =0;
BargainHelp bargainHelp =new BargainHelp();
bargainHelp.setBargainOrderId(bargainHelpParm.getBargainOrderId());
bargainHelp.setCreatedAt(new Date());
if("1".equals(bargainHelpParm.getIsCode())){
SmsLog smsLog = smsLogService.selectSmsByMobileAndType(bargainHelpParm.getUserMobile(),1);
User userXY = userService.getUserByUserMobile(bargainHelpParm.getUserMobile());
if(ObjectUtil.isNotNull(userXY)){
return ResponseEntity.ok("该手机号已被注册");
}
Bargain bargain = bargainService.getBargainById(bargainHelpParm.getActivityId());//取能砍的最低价格
// String userId = SecurityUtils.getUser().getUserId();
Product product = productService.getProductByProdId(bargainHelpParm.getProdId());//查询商品原价
//查询发起人对应的砍价者砍价合计
List<BargainHelp> bargainHelpList=bargainHelpService.selectListByBargainOrderId(bargainHelpParm.getBargainOrderId());
double cutMoneys =0;
for(BargainHelp bargainHelp:bargainHelpList){
cutMoneys += bargainHelp.getBargainMoney();
if(ObjectUtil.isNull(smsLog)){
return ResponseEntity.ok("验证码已失效");
}
double canCut = product.getPrice()-cutMoneys;//能砍的价格
double randNumber = 0;
//对比
Random rand = new Random();
double MAX =0;
double MIN =0;
BargainHelp bargainHelp =new BargainHelp();
bargainHelp.setBargainOrderId(bargainHelpParm.getBargainOrderId());
bargainHelp.setCreatedAt(new Date());
if(ObjectUtil.isNotNull(user)){
//老用户
MAX = bargain.getOldMax();
MIN = bargain.getOldMin();
}else{
//新增用户
user = new User();
String userId= UUID.randomUUID().toString().replace("-", "");
user.setUserId(userId);
user.setNickName(bargainHelpParm.getNickName());
user.setPic(bargainHelpParm.getHeadImg());
user.setStatus(1);
user.setUserMobile(bargainHelpParm.getUserMobile());
user.setModifyTime(new Date());
user.setUserRegtime(new Date());
userService.save(user);
//帮忙砍价
MAX = bargain.getNewMax();
MIN = bargain.getNewMin();
if(!bargainHelpParm.getCode().equals(smsLog.getMobileCode())){
return ResponseEntity.ok("验证码错误");
}
if(canCut<MAX){
randNumber = canCut;
}else{
randNumber = rand.nextDouble() * (MAX - MIN) + MIN;
if((System.currentTimeMillis()-smsLog.getRecDate().getTime())>1000 * 60 * 5){
return ResponseEntity.ok("验证码已过期");
}
bargainHelp.setAssistorId(user.getUserId());
bargainHelp.setNickName(user.getNickName());
bargainHelp.setHeadImg(user.getPic());
bargainHelp.setBargainMoney(randNumber);
userService.updatePhone(smsLog.getUserPhone(),userId);
//老用户
bargainHelp.setIsUser(1);
bargainHelpService.saveBargainHelp(bargainHelp);
bargainSendService.updateCount(bargainHelpParm.getBargainOrderId());
return ResponseEntity.ok(randNumber+"");
MAX = bargain.getOldMax();
MIN = bargain.getOldMin();
}else{
bargainHelp.setIsUser(0);
MAX = bargain.getNewMax();
MIN = bargain.getNewMin();
}
return ResponseEntity.ok("验证码错误");
}
if(canCut<MAX){
randNumber = canCut;
}else{
randNumber = rand.nextDouble() * (MAX - MIN) + MIN;
}
bargainHelp.setAssistorId(user.getUserId());
bargainHelp.setNickName(user.getNickName());
bargainHelp.setHeadImg(user.getPic());
bargainHelp.setBargainMoney(randNumber);
bargainHelpService.saveBargainHelp(bargainHelp);
bargainSendService.updateCount(bargainHelpParm.getBargainOrderId());
return ResponseEntity.ok(randNumber+"");
}
@PostMapping("/checkingUser")
@ApiOperation(value="验证码修改手机号", notes="根据用户ID(userId)获取用户信息")
public ResponseEntity<Object> checkingUser(@Valid @RequestBody SmsLog sms) {
String userId = SecurityUtils.getUser().getUserId();
SmsLog smsLog = smsLogService.selectSmsByMobileAndType(sms.getUserPhone(),1);
User user = userService.getUserByUserMobile(sms.getUserPhone());
if(ObjectUtil.isNotNull(user)){
return ResponseEntity.ok("该手机号已被注册");
}
if(ObjectUtil.isNull(smsLog)){
return ResponseEntity.ok("验证码已失效");
}
if(!sms.getMobileCode().equals(smsLog.getMobileCode())){
return ResponseEntity.ok("验证码错误");
}
if((System.currentTimeMillis()-smsLog.getRecDate().getTime())>1000 * 60 * 5){
return ResponseEntity.ok("验证码已过期");
}
userService.updatePhone(sms.getUserPhone(),userId);
return ResponseEntity.ok("添加手机号成功");
}
public static void main(String[] args) {
Random rand = new Random();
// int randNumber =rand.nextInt(MAX - MIN + 1) + MIN;
Scanner sc = new Scanner(System.in);
......
......@@ -14,8 +14,11 @@ import java.util.*;
import javax.validation.Valid;
import cn.hutool.core.util.ObjectUtil;
import com.yami.shop.bean.app.dto.*;
import com.yami.shop.bean.event.ConfirmOrderEvent;
import com.yami.shop.bean.model.BargainHelp;
import com.yami.shop.bean.model.BargainSend;
import com.yami.shop.common.exception.YamiShopBindException;
import com.yami.shop.security.util.SecurityUtils;
import com.yami.shop.service.*;
......@@ -58,8 +61,12 @@ public class OrderController {
private BasketService basketService;
@Autowired
private ApplicationContext applicationContext;
@Autowired
private BargainSendService bargainSendService;
@Autowired
private BargainHelpService bargainHelpService;
@Autowired
private ProdController prodController;
/**
* 生成订单
*/
......@@ -71,10 +78,12 @@ public class OrderController {
// 订单的地址信息
UserAddr userAddr = userAddrService.getUserAddrByUserId(orderParam.getAddrId(), userId);
UserAddrDto userAddrDto = mapperFacade.map(userAddr, UserAddrDto.class);
String isBargain="";
if("1".equals(orderParam.getOrderItem().getIsBargain())){
isBargain=orderParam.getOrderItem().getIsBargain();
}
// 组装获取用户提交的购物车商品项
List<ShopCartItemDto> shopCartItems = basketService.getShopCartItemsByOrderItems(orderParam.getBasketIds(),orderParam.getOrderItem(),userId);
List<ShopCartItemDto> shopCartItems = basketService.getShopCartItemsByOrderItems(isBargain,orderParam.getBasketIds(),orderParam.getOrderItem(),userId);
if (CollectionUtil.isEmpty(shopCartItems)) {
throw new YamiShopBindException("请选择您需要的商品加入购物车");
......@@ -116,7 +125,6 @@ public class OrderController {
shopCartOrder.setShopCartItemDiscounts(shopCartItemDiscounts);
applicationContext.publishEvent(new ConfirmOrderEvent(shopCartOrder,orderParam,shopAllShopCartItems));
actualTotal = Arith.add(actualTotal,shopCartOrder.getActualTotal());
total = Arith.add(total,shopCartOrder.getTotal());
totalCount = totalCount + shopCartOrder.getTotalCount();
......@@ -126,6 +134,20 @@ public class OrderController {
}
if("1".equals(orderParam.getOrderItem().getIsBargain())){
BargainSend BS=bargainSendService.selectBargainTask(userId,orderParam.getOrderItem().getActivityId());
List<BargainHelp> bargainHelpList = bargainHelpService.selectListByBargainOrderId(BS.getId());
double cutMoney = 0;
if(bargainHelpList.size()>0){
for(BargainHelp bargainHelp:bargainHelpList){
cutMoney += bargainHelp.getBargainMoney();
}
}
ProductDto product = prodController.prodInfoBargain(orderParam.getOrderItem().getProdId());
actualTotal=product.getPrice()-cutMoney;
total = actualTotal;
}
shopCartOrderMergerDto.setActualTotal(actualTotal);
shopCartOrderMergerDto.setTotal(total);
shopCartOrderMergerDto.setTotalCount(totalCount);
......@@ -195,4 +217,32 @@ public class OrderController {
return ResponseEntity.ok(new OrderNumbersDto(orderNumbers.toString()));
}
/**
* 生成订单
*/
@PostMapping("/confirmBargin")
@ApiOperation(value = "结算,生成订单信息", notes = "传入下单所需要的参数进行下单")
public ResponseEntity<ShopCartOrderMergerDto> confirmBargin(@Valid @RequestBody OrderParam orderParam) {
String userId = SecurityUtils.getUser().getUserId();
// 订单的地址信息
UserAddr userAddr = userAddrService.getUserAddrByUserId(orderParam.getAddrId(), userId);
UserAddrDto userAddrDto = mapperFacade.map(userAddr, UserAddrDto.class);
// 将要返回给前端的完整的订单信息
ShopCartOrderMergerDto shopCartOrderMergerDto = new ShopCartOrderMergerDto();
shopCartOrderMergerDto.setUserAddr(userAddrDto);
double actualTotal = 0.0;
double total = 0.0;
int totalCount = 0;
double orderReduce = 0.0;
shopCartOrderMergerDto.setActualTotal(actualTotal);
shopCartOrderMergerDto.setTotal(total);
shopCartOrderMergerDto.setTotalCount(totalCount);
shopCartOrderMergerDto.setOrderReduce(orderReduce);
orderService.putConfirmOrderCache(userId,shopCartOrderMergerDto);
return ResponseEntity.ok(shopCartOrderMergerDto);
}
}
......@@ -41,6 +41,7 @@ public class ProdCommController {
@GetMapping("/prodCommData")
@ApiOperation(value = "返回商品评论数据(好评率 好评数量 中评数 差评数)", notes = "根据商品id获取")
public ResponseEntity<ProdCommDataDto> getProdCommData(Long prodId) {
return ResponseEntity.ok(prodCommService.getProdCommDataByProdId(prodId, SecurityUtils.getUser().getUserId()));
......
......@@ -129,5 +129,30 @@ public class ProdController {
}
public ProductDto prodInfoBargain(Long prodId) {
Product product = prodService.getProductByProdId(prodId);
if (product == null) {
return null;
}
List<Sku> skuList = skuService.listByProdId(prodId);
// 启用的sku列表
List<Sku> useSkuList = skuList.stream().filter(sku -> sku.getStatus() == 1).collect(Collectors.toList());
product.setSkuList(useSkuList);
ProductDto productDto = mapperFacade.map(product, ProductDto.class);
// 商品的配送方式
Product.DeliveryModeVO deliveryModeVO = Json.parseObject(product.getDeliveryMode(), Product.DeliveryModeVO.class);
// 有店铺配送的方式, 且存在运费模板,才返回运费模板的信息,供前端查阅
if (deliveryModeVO.getHasShopDelivery() && product.getDeliveryTemplateId() != null) {
Transport transportAndAllItems = transportService.getTransportAndAllItems(product.getDeliveryTemplateId());
productDto.setTransport(transportAndAllItems);
}
return productDto;
}
}
......@@ -13,11 +13,13 @@ package com.yami.shop.api.controller;
import cn.binarywang.wx.miniapp.api.WxMaService;
import cn.hutool.core.util.StrUtil;
import com.yami.shop.api.config.WxAppConfiguration;
import com.yami.shop.bean.model.SmsLog;
import com.yami.shop.bean.vo.WxParamsVo;
import com.yami.shop.common.util.CacheManagerUtil;
import com.yami.shop.security.enums.App;
import com.yami.shop.security.service.YamiUser;
import com.yami.shop.security.util.SecurityUtils;
import com.yami.shop.service.SmsLogService;
import lombok.AllArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
......@@ -33,6 +35,9 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import ma.glasnost.orika.MapperFacade;
import java.util.Date;
import java.util.UUID;
@RestController
@RequestMapping("/p/user")
@Api(tags="用户接口")
......@@ -44,6 +49,9 @@ public class UserController {
private final MapperFacade mapperFacade;
private final CacheManagerUtil cacheManagerUtil;
@Autowired
private SmsLogService smsLogService;
/**
* 查看用户接口
*/
......@@ -78,5 +86,4 @@ public class UserController {
return ResponseEntity.ok(userService.registerPhone(wxParamsVo, wxService, userId));
}
}
......@@ -43,7 +43,7 @@ public class MiniAppAuthenticationProvider extends AbstractUserDetailsAuthentica
private final CacheManagerUtil cacheManagerUtil;
private final static String APPID = "wx72780b89fe2ee6f4";
private final static String APPID = "wx50a14d592be6735e";
@Override
protected Authentication createSuccessAuthentication(Authentication authentication, UserDetails user) {
......
......@@ -2,16 +2,16 @@ server:
port: 8086
spring:
datasource:
# url: jdbc:mysql://127.0.0.1:3306/retail_shops?allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true
# username: root
# password: 123
# driver-class-name: com.mysql.cj.jdbc.Driver
# type: com.zaxxer.hikari.HikariDataSource
url: jdbc:mysql://127.0.0.1:3306/yami_shops?allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true
url: jdbc:mysql://127.0.0.1:3306/retail_shops?allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true
username: root
password: root
password: 123
driver-class-name: com.mysql.cj.jdbc.Driver
type: com.zaxxer.hikari.HikariDataSource
# url: jdbc:mysql://127.0.0.1:3306/yami_shops?allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true
# username: root
# password: root
# driver-class-name: com.mysql.cj.jdbc.Driver
# type: com.zaxxer.hikari.HikariDataSource
hikari:
minimum-idle: 0
maximum-pool-size: 20
......
......@@ -54,6 +54,8 @@ management:
wx:
miniapp:
configs:
# - appId: wx50a14d592be6735e
# secret: f6323624efa19fcaaa18b9f95b7d2207
- appid: wx72780b89fe2ee6f4
secret: 78837e61297df3135e60c3701ab0b005
# - appid: wx42732c972778dc69 #微信小程序的appid
......
......@@ -10,6 +10,7 @@
package com.yami.shop.bean.app.dto;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -43,4 +44,5 @@ public class ShopCartOrderMergerDto implements Serializable{
@ApiModelProperty(value = "整个订单可以使用的优惠券列表", required = true)
private List<CouponOrderDto> coupons;
}
......@@ -10,27 +10,19 @@
package com.yami.shop.bean.app.dto;
import com.yami.shop.bean.model.User;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class UserDto {
private User user;
@ApiModelProperty(value = "用户状态:0禁用 1正常",required=true)
private Integer status;
@ApiModelProperty(value = "token",required=true)
private String token;
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public String getToken() {
return token;
}
public void setToken(String token) {
this.token = token;
}
}
\ No newline at end of file
......@@ -40,4 +40,10 @@ public class OrderItemParam {
@ApiModelProperty(value = "推广员使用的推销卡号")
private String distributionCardNo;
@ApiModelProperty(value = "1、砍价页面,0,、其他页面")
private String isBargain;
@ApiModelProperty(value = "发起人表主键")
private Long activityId;
}
......@@ -41,6 +41,7 @@ public class OrderParam {
@ApiModelProperty(value = "优惠券id数组")
private List<Long> couponIds;
// @ApiModelProperty(value = "每次订单提交时的uuid")
// private String uuid;
// @ApiModelProperty(value = "订单入口 SHOP_CART购物车,BUY_NOW立即购买")
......
......@@ -3,6 +3,7 @@ package com.yami.shop.bean.model;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yami.shop.bean.app.dto.ProductDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
......@@ -29,82 +30,81 @@ public class Bargain implements Serializable {
/**
* 商品ID
*/
@ApiModelProperty(value = "商品ID", required = true)
@ApiModelProperty(value = "商品ID", required = false)
private Long prodId;
/**
* 活动名称
*/
@ApiModelProperty(value = "活动名称", required = true)
@ApiModelProperty(value = "活动名称", required = false)
private String prodName;
/**
* 开始时间
*/
@ApiModelProperty(value = "开始时间", required = true)
@ApiModelProperty(value = "开始时间", required = false)
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date startTime;
/**
* 结束时间
*/
@ApiModelProperty(value = "结束时间", required = true)
@ApiModelProperty(value = "结束时间", required = false)
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date overTime;
/**
* 状态:0未开始,1进行中,2已结束
*/
@ApiModelProperty(value = "状态:0未开始,1进行中,2已结束", required = true)
@ApiModelProperty(value = "状态:0未开始,1进行中,2已结束", required = false)
private Integer status;
/**
* 序号
*/
@ApiModelProperty(value = "序号", required = true)
@ApiModelProperty(value = "序号", required = false)
private Long sort;
/**
* 砍价最大金额(新用户)
*/
@ApiModelProperty(value = "砍价最大金额(新用户)", required = true)
@ApiModelProperty(value = "砍价最大金额(新用户)", required = false)
private Double newMax;
/**
* 砍价最小金额(新用户)
*/
@ApiModelProperty(value = "砍价最小金额(新用户)", required = true)
@ApiModelProperty(value = "砍价最小金额(新用户)", required = false)
private Double newMin;
/**
* 砍价最大金额(老用户)
*/
@ApiModelProperty(value = "砍价最大金额(老用户)", required = true)
@ApiModelProperty(value = "砍价最大金额(老用户)", required = false)
private Double oldMax;
/**
* 砍价最小金额(老用户)
*/
@ApiModelProperty(value = "砍价最小金额(老用户)", required = true)
@ApiModelProperty(value = "砍价最小金额(老用户)", required = false)
private Double oldMin;
/**
* 最低价格
*/
@ApiModelProperty(value = "最低价格", required = true)
@ApiModelProperty(value = "最低价格", required = false)
private Double minPrice;
/**
* 库存
*/
@ApiModelProperty(value = "库存", required = true)
@ApiModelProperty(value = "库存", required = false)
private Integer stocks;
/**
* 创建用户
*/
@ApiModelProperty(value = "创建时间", required = false)
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建人", required = false)
private String createdUser;
/**
......@@ -119,7 +119,7 @@ public class Bargain implements Serializable {
*/
@ApiModelProperty(value = "商品信息", required = false)
@TableField(exist = false)
private Product product;
private ProductDto productDto;
/**
* 砍价发起人
......@@ -138,4 +138,7 @@ public class Bargain implements Serializable {
@ApiModelProperty(value = "正在砍价人数", required = false)
@TableField(exist = false)
private Integer SendCount;
@ApiModelProperty(value = "单品id", required = false)
private Long skuId;
}
......@@ -8,7 +8,7 @@ public class BargainDetailParm {
/**
* 砍价活动id
*/
@ApiModelProperty(value = "砍价活动id", required = true)
@ApiModelProperty(value = "砍价活动id", required = false)
private Long id;
/**
......
......@@ -24,32 +24,32 @@ public class BargainHelp {
/**
* 砍价表id
*/
@ApiModelProperty(value = "发起砍价表id", required = true)
@ApiModelProperty(value = "发起砍价表id", required = false)
private Long bargainOrderId;
/**
* 帮助者ID
*/
@ApiModelProperty(value = "帮助者ID", required = true)
@ApiModelProperty(value = "帮助者ID", required = false)
private String assistorId;
/**
* 帮助者昵称
*/
@ApiModelProperty(value = "帮助者昵称", required = true)
@ApiModelProperty(value = "帮助者昵称", required = false)
private String nickName;
/**
* 帮助者头像
*/
@ApiModelProperty(value = "帮助者头像", required = true)
@ApiModelProperty(value = "帮助者头像", required = false)
private String headImg;
/**
* 砍掉的价格
*/
@ApiModelProperty(value = "砍掉的价格", required = true)
@ApiModelProperty(value = "砍掉的价格", required = false)
private Double bargainMoney;
/**
......
......@@ -7,19 +7,22 @@ import lombok.Data;
public class BargainHelpParm {
@ApiModelProperty(value = "帮助者电话", required = true)
@ApiModelProperty(value = "帮助者电话", required = false)
private String userMobile;
@ApiModelProperty(value = "验证码", required = true)
@ApiModelProperty(value = "验证码", required = false)
private String code;
@ApiModelProperty(value = "商品ID", required = true)
@ApiModelProperty(value = "商品ID", required = false)
private Long prodId;
@ApiModelProperty(value = "发起砍价表id", required = true)
@ApiModelProperty(value = "发起砍价表id", required = false)
private Long bargainOrderId;
@ApiModelProperty(value = "砍价活动id", required = true)
@ApiModelProperty(value = "砍价活动id", required = false)
private Long activityId;
@ApiModelProperty(value = "帮助者昵称", required = true)
@ApiModelProperty(value = "帮助者昵称", required = false)
private String nickName;
@ApiModelProperty(value = "帮助者头像", required = true)
@ApiModelProperty(value = "帮助者头像", required = false)
private String headImg;
@ApiModelProperty(value = "0为老用户,1为新用户", required = false)
private String isCode;
}
......@@ -3,6 +3,7 @@ package com.yami.shop.bean.model;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yami.shop.bean.app.dto.ProductDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
......@@ -26,19 +27,19 @@ public class BargainSend {
/**
* 砍价活动id
*/
@ApiModelProperty(value = "砍价活动id", required = true)
@ApiModelProperty(value = "砍价活动id", required = false)
private Long activityId;
/**
* 参与活动的商品id
*/
@ApiModelProperty(value = "参与活动的商品id", required = true)
@ApiModelProperty(value = "参与活动的商品id", required = false)
private Long prodId;
/**
* 砍价商品发起的用户ID
*/
@ApiModelProperty(value = "砍价商品发起的用户ID", required = true)
@ApiModelProperty(value = "砍价商品发起的用户ID", required = false)
private String userId;
/**
......@@ -50,13 +51,13 @@ public class BargainSend {
/**
* 最终交易价格
*/
@ApiModelProperty(value = "最终交易价格", required = true)
@ApiModelProperty(value = "最终交易价格", required = false)
private Double endPrice;
/**
* 是否下单(0:未下单,1:已下单)
*/
@ApiModelProperty(value = "是否下单(0:未下单,1:已下单)", required = true)
@ApiModelProperty(value = "是否下单(0:未下单,1:已下单)", required = false)
private Integer isAddorder;
/**
......@@ -66,12 +67,15 @@ public class BargainSend {
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createdAt;
@ApiModelProperty(value = "创建人", required = false)
private String createdUser;
/**
* 商品信息
*/
@ApiModelProperty(value = "商品信息", required = false)
@TableField(exist = false)
private Product product;
private ProductDto productDto;
/**
* 砍价活动
......@@ -83,8 +87,10 @@ public class BargainSend {
* 帮砍好友信息
*/
@ApiModelProperty(value = "帮砍好友信息", required = false)
@TableField(exist = false)
private List<BargainHelp> bargainHelpList;
@ApiModelProperty(value = "砍掉的金额", required = false)
@TableField(exist = false)
private double cutMoney;
}
......@@ -21,7 +21,6 @@ public class SmsLog {
* ID
*/
@TableId
private Long id;
/**
......
......@@ -22,4 +22,6 @@ public interface UserMapper extends BaseMapper<User> {
User getUserByBizUserId(@Param("appId")Integer appId, @Param("bizUserId")String bizUserId);
User getUserByUserMobile(@Param("userMobile")String userMobile);
Integer updatePhone(@Param("userMobile")String userMobile,@Param("userId")String userId);
}
......@@ -63,6 +63,6 @@ public interface BasketService extends IService<Basket> {
* @param userId 当前用户的用户id
* @return 所有的商品购物项
*/
List<ShopCartItemDto> getShopCartItemsByOrderItems(List<Long> basketId, OrderItemParam orderItem,String userId);
List<ShopCartItemDto> getShopCartItemsByOrderItems(String isBargain,List<Long> basketId, OrderItemParam orderItem,String userId);
}
......@@ -33,4 +33,6 @@ public interface UserService extends IService<User> {
String registerPhone(WxParamsVo wxParamsVo, WxMaService wxService, String userId);
User getUserByUserMobile(String userMobile);
Integer updatePhone(String userMobile,String userId);
}
......@@ -7,6 +7,7 @@ import com.yami.shop.dao.BargainSendMapper;
import com.yami.shop.service.BargainSendService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
......@@ -39,6 +40,7 @@ public class BargainSendServiceImpl extends ServiceImpl<BargainSendMapper, Barga
}
@Override
@Transactional
public BargainSend selectBargainTask(String userId, long activityId) {
return bargainSendMapper.selectBargainTask(userId,activityId);
}
......
......@@ -161,7 +161,7 @@ public class BasketServiceImpl extends ServiceImpl<BasketMapper, Basket> impleme
}
@Override
public List<ShopCartItemDto> getShopCartItemsByOrderItems(List<Long> basketId, OrderItemParam orderItem,String userId) {
public List<ShopCartItemDto> getShopCartItemsByOrderItems(String isBargain,List<Long> basketId, OrderItemParam orderItem,String userId) {
if (orderItem == null && CollectionUtil.isEmpty(basketId)) {
return Collections.emptyList();
}
......@@ -189,6 +189,9 @@ public class BasketServiceImpl extends ServiceImpl<BasketMapper, Basket> impleme
shopCartItemDto.setProdName(sku.getProdName());
shopCartItemDto.setProductTotalAmount(Arith.mul(sku.getPrice(),orderItem.getProdCount()));
shopCartItemDto.setPrice(sku.getPrice());
if("1".equals(isBargain)){
shopCartItemDto.setPrice(prod.getPrice());
}
shopCartItemDto.setDistributionCardNo(orderItem.getDistributionCardNo());
shopCartItemDto.setBasketDate(new Date());
ShopDetail shopDetail = shopDetailService.getShopDetailByShopId(orderItem.getShopId());
......@@ -205,5 +208,4 @@ public class BasketServiceImpl extends ServiceImpl<BasketMapper, Basket> impleme
.collect(Collectors.toList());
}
}
......@@ -53,7 +53,7 @@ import java.util.Map.Entry;
@Slf4j
@AllArgsConstructor
public class SmsLogServiceImpl extends ServiceImpl<SmsLogMapper, SmsLog> implements SmsLogService {
@Autowired
private SmsLogMapper smsLogMapper;
private ALiDaYu aLiDaYu;
......
......@@ -13,12 +13,15 @@ package com.yami.shop.service.impl;
import cn.binarywang.wx.miniapp.api.WxMaService;
import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yami.shop.bean.enums.SmsType;
import com.yami.shop.bean.model.User;
import com.yami.shop.bean.vo.WxParamsVo;
import com.yami.shop.common.util.CacheManagerUtil;
import com.yami.shop.dao.SmsLogMapper;
import com.yami.shop.dao.UserMapper;
import com.yami.shop.service.UserService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
......@@ -32,6 +35,8 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
private final CacheManagerUtil cacheManagerUtil;
@Autowired
private SmsLogMapper smsLogMapper;
public UserServiceImpl(CacheManagerUtil cacheManagerUtil, UserMapper userMapper) {
this.cacheManagerUtil = cacheManagerUtil;
this.userMapper = userMapper;
......@@ -67,4 +72,10 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
public User getUserByUserMobile(String userMobile) {
return userMapper.getUserByUserMobile(userMobile);
}
@Override
public Integer updatePhone(String userMobile, String userId) {
smsLogMapper.invalidSmsByMobileAndType(userMobile, SmsType.VALID.value());
return userMapper.updatePhone(userMobile,userId);
}
}
......@@ -20,7 +20,7 @@
<result column="stocks" jdbcType="INTEGER" property="stocks" />
<result column="created_user" jdbcType="VARCHAR" property="createdUser" />
<result column="created_at" jdbcType="TIMESTAMP" property="createdAt" />
<result column="sku_id" jdbcType="BIGINT" property="skuId" />
</resultMap>
<select id="selectBargainTotalList" resultType="com.yami.shop.bean.model.BargainParm">
......
......@@ -20,6 +20,6 @@
update tz_sms_log set status = 0 where user_phone = #{mobile} and type = #{type}
</update>
<select id="selectSmsByMobileAndType" resultMap="BaseResultMap">
select * from tz_sms_log where user_phone=#{mobile} and status= #{status} order by rec_date desc limit 1
select * from tz_sms_log where user_phone=#{mobile} and status= #{status}
</select>
</mapper>
\ No newline at end of file
......@@ -33,7 +33,11 @@
select * from tz_user u where user_mobile=#{userMobile}
</select>
<update id="updatePhone" parameterType="com.yami.shop.bean.model.User">
update tz_user
set user_mobile = #{userMobile}
where user_id = #{userId}
</update>
</mapper>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment