diff --git a/ruoyi-api/pom.xml b/ruoyi-api/pom.xml index a1c5e24..a6f8e6b 100644 --- a/ruoyi-api/pom.xml +++ b/ruoyi-api/pom.xml @@ -27,7 +27,7 @@ 2.3.2 3.3.1 3.2.1 - 1.1.14 + 1.1.20 2.8.5 2.9.2 3.7 @@ -200,6 +200,26 @@ + + + + aliyun + aliyun-maven + http://maven.aliyun.com/nexus/content/groups/public/ + + + spring-milestones + Spring Milestones + https://maven.aliyun.com/repository/spring + + + central + maven-central + http://central.maven.org/maven2/ + + + + diff --git a/ruoyi-api/src/main/java/com/ruoyi/app/common/service/BaseService.java b/ruoyi-api/src/main/java/com/ruoyi/app/common/service/BaseService.java new file mode 100644 index 0000000..6992f63 --- /dev/null +++ b/ruoyi-api/src/main/java/com/ruoyi/app/common/service/BaseService.java @@ -0,0 +1,27 @@ +/** + * Copyright 2019-2029 geekidea(https://github.com/geekidea) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.ruoyi.app.common.service; + +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @author geekidea + * @date 2018-11-08 + */ +public interface BaseService extends IService { + +} diff --git a/ruoyi-api/src/main/java/com/ruoyi/app/common/service/impl/BaseServiceImpl.java b/ruoyi-api/src/main/java/com/ruoyi/app/common/service/impl/BaseServiceImpl.java new file mode 100644 index 0000000..004bc46 --- /dev/null +++ b/ruoyi-api/src/main/java/com/ruoyi/app/common/service/impl/BaseServiceImpl.java @@ -0,0 +1,38 @@ +/** + * Copyright 2019-2029 geekidea(https://github.com/geekidea) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.ruoyi.app.common.service.impl; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.OrderItem; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.app.common.service.BaseService; +import org.apache.commons.collections.CollectionUtils; + +import java.util.Arrays; +import java.util.List; + +/** + * @author geekidea + * @date 2018-11-08 + */ +public abstract class BaseServiceImpl, T> extends ServiceImpl implements BaseService { + + + + +} diff --git a/ruoyi-api/src/main/java/com/ruoyi/app/modular/auth/controller/AuthController.java b/ruoyi-api/src/main/java/com/ruoyi/app/modular/auth/controller/AuthController.java index a964bb2..37fd4c3 100644 --- a/ruoyi-api/src/main/java/com/ruoyi/app/modular/auth/controller/AuthController.java +++ b/ruoyi-api/src/main/java/com/ruoyi/app/modular/auth/controller/AuthController.java @@ -5,15 +5,11 @@ package com.ruoyi.app.modular.auth.controller; import cn.binarywang.wx.miniapp.api.WxMaService; import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult; import cn.binarywang.wx.miniapp.bean.WxMaUserInfo; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONObject; -import com.itmuch.lightsecurity.annotation.PreAuthorize; import com.itmuch.lightsecurity.jwt.JwtOperator; import com.itmuch.lightsecurity.jwt.User; import com.itmuch.lightsecurity.jwt.UserOperator; import com.ruoyi.app.common.R; import com.ruoyi.app.common.persistence.model.StoreMember; -import com.ruoyi.app.common.utils.JsonUtils; import com.ruoyi.app.modular.member.service.IMemberService; import com.ruoyi.app.modular.member.service.vo.LoginVO; @@ -26,7 +22,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; -import java.util.Arrays; import java.util.Date; import java.util.HashMap; @@ -86,7 +81,6 @@ public class AuthController { } StoreMember member = memberService.login(openid); - //System.out.println(member); User user = null; if(member == null){ //新用户插入数据 @@ -114,7 +108,6 @@ public class AuthController { map.put("access_token",token); return R.success(map); } catch (WxErrorException e) { - //System.out.println(e.getMessage()); log.error(e.getMessage()); return R.error(4000,e.getMessage()); } diff --git a/ruoyi-api/src/main/java/com/ruoyi/app/modular/member/controller/UserController.java b/ruoyi-api/src/main/java/com/ruoyi/app/modular/member/controller/UserController.java index ca5bbb3..7cc4d2a 100644 --- a/ruoyi-api/src/main/java/com/ruoyi/app/modular/member/controller/UserController.java +++ b/ruoyi-api/src/main/java/com/ruoyi/app/modular/member/controller/UserController.java @@ -2,7 +2,6 @@ package com.ruoyi.app.modular.member.controller; import com.alibaba.fastjson.JSON; -import com.itmuch.lightsecurity.annotation.PreAuthorize; import com.itmuch.lightsecurity.jwt.User; import com.itmuch.lightsecurity.jwt.UserOperator; import com.ruoyi.app.common.R; @@ -11,8 +10,6 @@ import com.ruoyi.app.modular.member.service.IMemberService; import com.ruoyi.app.modular.member.service.dto.MemberDTO; import com.ruoyi.app.modular.member.service.impl.AddressServiceImpl; import com.ruoyi.app.modular.member.service.mapper.MemberMapper; -//import io.swagger.annotations.Api; -//import io.swagger.annotations.ApiOperation; import com.ruoyi.app.modular.member.service.vo.AddressVO; import com.ruoyi.app.modular.shop.service.impl.GoodsServiceImpl; import com.ruoyi.app.modular.shop.service.impl.OrderServiceImpl; @@ -25,7 +22,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; -import java.util.HashMap; + import java.util.Map; //import wiki.xsx.core.handler.StringHandler; //import wiki.xsx.core.util.RedisUtil; diff --git a/ruoyi-api/src/main/java/com/ruoyi/app/modular/shop/controller/IndexController.java b/ruoyi-api/src/main/java/com/ruoyi/app/modular/shop/controller/IndexController.java index d5b6178..cb13e5f 100644 --- a/ruoyi-api/src/main/java/com/ruoyi/app/modular/shop/controller/IndexController.java +++ b/ruoyi-api/src/main/java/com/ruoyi/app/modular/shop/controller/IndexController.java @@ -3,21 +3,17 @@ package com.ruoyi.app.modular.shop.controller; import com.itmuch.lightsecurity.jwt.UserOperator; import com.ruoyi.app.common.R; import com.ruoyi.app.common.persistence.model.WechatNewsArticle; -import com.ruoyi.app.modular.member.service.IMemberService; import com.ruoyi.app.modular.shop.service.dto.AdsDTO; import com.ruoyi.app.modular.shop.service.dto.GoodsDTO; import com.ruoyi.app.modular.shop.service.dto.NewsDTO; import com.ruoyi.app.modular.shop.service.impl.AdServiceImpl; import com.ruoyi.app.modular.shop.service.impl.GoodsServiceImpl; import com.ruoyi.app.modular.shop.service.impl.NewsServiceImpl; -import com.ruoyi.app.modular.shop.service.vo.PageVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @@ -46,7 +42,6 @@ public class IndexController { @ApiOperation(value = "首页信息",notes = "首页信息") public R index(){ int userId = userOperator.getUser().getId(); - List recommedGoods = goodsService.getList(0,1,3,userId,"",1); List newGoods = goodsService.getList(0,1,6,userId,"",2); List newsList = newsService.getList(1,3); diff --git a/ruoyi-api/src/main/java/com/ruoyi/app/modular/shop/controller/MallController.java b/ruoyi-api/src/main/java/com/ruoyi/app/modular/shop/controller/MallController.java index 8973a11..1f5ca46 100644 --- a/ruoyi-api/src/main/java/com/ruoyi/app/modular/shop/controller/MallController.java +++ b/ruoyi-api/src/main/java/com/ruoyi/app/modular/shop/controller/MallController.java @@ -85,6 +85,7 @@ public class MallController { Map specPrice = goodsService.goodsSpecPrice(goodsId); GoodsDTO goodsDetail = goodsMapper.toDto(goodsService.getById(goodsId)); Map> specs = goodsService.goodsSpec(goodsId); + boolean isCollect = goodsService.isCollect(goodsId,userId); Map map = new HashMap<>(); diff --git a/ruoyi-api/src/main/java/com/ruoyi/app/modular/shop/controller/PayController.java b/ruoyi-api/src/main/java/com/ruoyi/app/modular/shop/controller/PayController.java index 49d0a41..5b57c25 100644 --- a/ruoyi-api/src/main/java/com/ruoyi/app/modular/shop/controller/PayController.java +++ b/ruoyi-api/src/main/java/com/ruoyi/app/modular/shop/controller/PayController.java @@ -1,7 +1,6 @@ package com.ruoyi.app.modular.shop.controller; -import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; @@ -9,20 +8,17 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.github.binarywang.wxpay.bean.notify.WxPayNotifyResponse; import com.github.binarywang.wxpay.bean.notify.WxPayOrderNotifyResult; -import com.github.binarywang.wxpay.bean.order.WxPayAppOrderResult; import com.github.binarywang.wxpay.bean.order.WxPayMpOrderResult; import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderRequest; import com.github.binarywang.wxpay.exception.WxPayException; import com.github.binarywang.wxpay.service.WxPayService; import com.itmuch.lightsecurity.jwt.UserOperator; import com.ruoyi.app.common.R; -import com.ruoyi.app.common.persistence.dao.StoreGoodsMapper; import com.ruoyi.app.common.persistence.dao.StoreOrderGoodsMapper; import com.ruoyi.app.common.persistence.model.StoreMember; import com.ruoyi.app.common.persistence.model.StoreOrder; import com.ruoyi.app.common.persistence.model.StoreOrderGoods; import com.ruoyi.app.modular.member.service.IMemberService; -import com.ruoyi.app.modular.shop.service.dto.OrderDTO; import com.ruoyi.app.modular.shop.service.impl.OrderServiceImpl; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -30,12 +26,10 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; -import javax.sound.midi.SoundbankResource; import java.math.BigDecimal; import java.util.HashMap; import java.util.List; @@ -121,7 +115,7 @@ public class PayController { return R.error(4000,"库存不足"); } } - //System.out.println("11111"); + WxPayUnifiedOrderRequest orderRequest = new WxPayUnifiedOrderRequest(); StoreMember member = memberService.getById(userId); orderRequest.setBody("商品购买"); @@ -134,11 +128,9 @@ public class PayController { orderRequest.setTradeType("JSAPI"); try { WxPayMpOrderResult orderResult = wxPayService.createOrder(orderRequest); - System.out.println(orderResult); return R.success(orderResult); } catch (WxPayException e) { return R.error(4000,e.getMessage()); - //e.printStackTrace(); } } @@ -162,7 +154,6 @@ public class PayController { orderService.notifyHandle(storeOrder); return WxPayNotifyResponse.success("处理成功!"); } catch (WxPayException e) { - //System.out.println(e.getMessage()); log.error(e.getMessage()); return WxPayNotifyResponse.fail(e.getMessage()); } diff --git a/ruoyi-api/src/main/java/com/ruoyi/app/modular/shop/service/impl/GoodsServiceImpl.java b/ruoyi-api/src/main/java/com/ruoyi/app/modular/shop/service/impl/GoodsServiceImpl.java index 4ebb4a1..d67273c 100644 --- a/ruoyi-api/src/main/java/com/ruoyi/app/modular/shop/service/impl/GoodsServiceImpl.java +++ b/ruoyi-api/src/main/java/com/ruoyi/app/modular/shop/service/impl/GoodsServiceImpl.java @@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.itmuch.lightsecurity.exception.LightSecurityException; import com.ruoyi.app.common.exception.BadRequestException; +import com.ruoyi.app.common.exception.EntityExistException; import com.ruoyi.app.common.persistence.dao.StoreCartMapper; import com.ruoyi.app.common.persistence.dao.StoreGoodsCollectMapper; import com.ruoyi.app.common.persistence.dao.StoreGoodsMapper; @@ -116,7 +117,6 @@ public class GoodsServiceImpl extends ServiceImpl public List collectGoods(int page,int limit,int userId) { Page pageModel = new Page<>(page, limit); List list = baseMapper.collectGoods(pageModel,userId); - //System.out.println(list); return list; } @@ -127,6 +127,10 @@ public class GoodsServiceImpl extends ServiceImpl wrapper.eq("goods_id",goodsId); List specGoodsPriceList = storeSpecGoodsPriceMapper .selectList(wrapper); + if(ObjectUtil.isNull(specGoodsPriceList)){ + System.out.println("2222"); + throw new EntityExistException(specGoodsPriceList.getClass()); + } Map listMap = specGoodsPriceList.stream().collect( Collectors.toMap(StoreSpecGoodsPrice::getKey,o->o)); @@ -136,6 +140,9 @@ public class GoodsServiceImpl extends ServiceImpl public Map> goodsSpec(int goodsId){ String keys = storeSpecGoodsPriceMapper.goodsSpecKey(goodsId); + if(StrUtil.isEmpty(keys)){ + throw new LightSecurityException("商品规格未添加"); + } String[] strArr = keys.split("_"); Map> itemMap = new HashMap<>(); List items = storeSpecGoodsPriceMapper @@ -154,7 +161,6 @@ public class GoodsServiceImpl extends ServiceImpl itemMap.put(itemDTO.getName(),listItem); } - System.out.println(itemMap); return itemMap; } diff --git a/ruoyi-api/src/main/java/com/ruoyi/app/modular/shop/service/impl/OrderServiceImpl.java b/ruoyi-api/src/main/java/com/ruoyi/app/modular/shop/service/impl/OrderServiceImpl.java index 6f3e43a..69f700f 100644 --- a/ruoyi-api/src/main/java/com/ruoyi/app/modular/shop/service/impl/OrderServiceImpl.java +++ b/ruoyi-api/src/main/java/com/ruoyi/app/modular/shop/service/impl/OrderServiceImpl.java @@ -75,7 +75,6 @@ public class OrderServiceImpl extends ServiceImpl QueryWrapper cartQueryWrapper = new QueryWrapper<>(); cartQueryWrapper.eq("user_id",userId).in("goods_id", Arrays.asList(goddsArr)); List storeCarts = storeCartMapper.selectList(cartQueryWrapper); - System.out.println("storeCarts:"+storeCarts); if(storeCarts.isEmpty()){ throw new LightSecurityException("购物车空空如也"); } diff --git a/ruoyi-api/src/main/resources/application.yml b/ruoyi-api/src/main/resources/application.yml index 8be212a..743a360 100644 --- a/ruoyi-api/src/main/resources/application.yml +++ b/ruoyi-api/src/main/resources/application.yml @@ -9,6 +9,12 @@ light-security: - http-method: ANY path: /shop/notify expression: "anon()" +# - http-method: ANY +# path: /shop/index-list +# expression: "anon()" +# - http-method: ANY +# path: /shop/mall-lists +# expression: "anon()" - http-method: get path: /doc.html expression: "anon()" @@ -146,14 +152,14 @@ logging: wx: pay: - appId: + appId: wxa82b5b7fcb0ec161 mchId: mchKey: subAppId: subMchId: keyPath: miniapp: - appid: + appid: wxa82b5b7fcb0ec161 secret: token: aesKey: