Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop
This commit is contained in:
commit
2720f5c0bb
27
README.md
27
README.md
@ -1,9 +1,5 @@
|
|||||||
## Lilishop B2B2C商城系统
|
## Lilishop B2B2C商城系统
|
||||||
|
|
||||||
##### 开源不易,如有帮助请点Star
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#### 欢迎交流需求,交流业务,交流技术(基础问题自行解决,进群先看文档后提问)
|
#### 欢迎交流需求,交流业务,交流技术(基础问题自行解决,进群先看文档后提问)
|
||||||
|
|
||||||
|
|
||||||
@ -28,13 +24,13 @@
|
|||||||
|
|
||||||
Lilishop商城系统支持商家入驻,后端基于SpringBoot 研发,前端使用 Vue、uniapp开发, **系统全端全部代码开源**
|
Lilishop商城系统支持商家入驻,后端基于SpringBoot 研发,前端使用 Vue、uniapp开发, **系统全端全部代码开源**
|
||||||
|
|
||||||
商城前后端分离,支持分布式部署,支持Docker,各个API独立,并且有独立的消费者。
|
前后端分离,支持分布式部署,支持Docker,各个API独立,并且有独立的消费者。
|
||||||
|
|
||||||
### 商城 API/消费者 聚合版
|
### 商城 API/消费者 聚合版
|
||||||
api不需要单独部署,只需启动一个jar包就可以正常运转 如有需要,可以点击跳转
|
api不需要单独部署,只需启动一个jar包就可以正常运转 如有需要,可以点击跳转
|
||||||
https://gitee.com/beijing_hongye_huicheng/lilishop-simplify
|
https://gitee.com/beijing_hongye_huicheng/lilishop-simplify
|
||||||
|
|
||||||
### 商城 开发/使用/常见问题 帮助文档
|
### 开发/使用/常见问题 帮助文档
|
||||||
|
|
||||||
https://docs.pickmall.cn
|
https://docs.pickmall.cn
|
||||||
|
|
||||||
@ -61,7 +57,7 @@ PS:手机验证码为 ‘111111’
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
### 快速部署本地商城
|
### 快速本地部署
|
||||||
|
|
||||||
[点击跳转](https://docs.pickmall.cn/deploy/%E8%BF%90%E8%A1%8C%E7%8E%AF%E5%A2%83%E5%87%86%E5%A4%87.html)
|
[点击跳转](https://docs.pickmall.cn/deploy/%E8%BF%90%E8%A1%8C%E7%8E%AF%E5%A2%83%E5%87%86%E5%A4%87.html)
|
||||||
|
|
||||||
@ -138,11 +134,19 @@ PS:手机验证码为 ‘111111’
|
|||||||
### 版本升级
|
### 版本升级
|
||||||
|
|
||||||
```
|
```
|
||||||
商城后续会持续版本升级,修复bug,完善功能,覆盖更多业务场景 o2o/b2b/s2b2b2c/跨境电商
|
系统后续会提供多场景解决方案。
|
||||||
|
更多架构:微服务、Saas、中台等,都会支持。 支持差价升级商业授权
|
||||||
后续会考虑推出微服务商城系统/商城中台等
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### 商业授权
|
||||||
|
商业版本与开源版本代码一致,没有区分
|
||||||
|
|
||||||
|
商业使用需要授权,授权方式可选择联系官网客服,或者qq群联系群主。
|
||||||
|
|
||||||
|
商业授权模式为永久授权,支持永久升级。
|
||||||
|
|
||||||
|
商业案例由于涉及部分多层二开关系,如需了解可以咨询销售。
|
||||||
|
|
||||||
|
|
||||||
### 开源须知
|
### 开源须知
|
||||||
1.仅允许用于个人学习研究使用.
|
1.仅允许用于个人学习研究使用.
|
||||||
@ -151,7 +155,8 @@ PS:手机验证码为 ‘111111’
|
|||||||
|
|
||||||
3.软件受国家计算机软件著作权保护(登记号:2021SR0805085)。
|
3.软件受国家计算机软件著作权保护(登记号:2021SR0805085)。
|
||||||
|
|
||||||
4.限制商用,如果需要商业使用请联系我们。QQ3409056806.
|
4.限制商用,如果需要商业使用请联系我们。QQ3409056806.或者加入qq群联系群主。
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### 交流群
|
### 交流群
|
||||||
|
@ -2,9 +2,9 @@ package cn.lili.controller.common;
|
|||||||
|
|
||||||
import cn.lili.common.enums.ResultUtil;
|
import cn.lili.common.enums.ResultUtil;
|
||||||
import cn.lili.common.vo.ResultMessage;
|
import cn.lili.common.vo.ResultMessage;
|
||||||
import cn.lili.modules.system.service.RegionService;
|
|
||||||
import cn.lili.modules.system.entity.dos.Region;
|
import cn.lili.modules.system.entity.dos.Region;
|
||||||
import cn.lili.modules.system.entity.vo.RegionVO;
|
import cn.lili.modules.system.entity.vo.RegionVO;
|
||||||
|
import cn.lili.modules.system.service.RegionService;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiImplicitParam;
|
||||||
import io.swagger.annotations.ApiImplicitParams;
|
import io.swagger.annotations.ApiImplicitParams;
|
||||||
@ -38,6 +38,11 @@ public class RegionController {
|
|||||||
return ResultUtil.data(regionService.getRegion(cityCode,townName));
|
return ResultUtil.data(regionService.getRegion(cityCode,townName));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@GetMapping(value = "/name")
|
||||||
|
@ApiOperation(value = "根据名字获取地区地址id")
|
||||||
|
public ResultMessage<String> getItemByLastName(String lastName) {
|
||||||
|
return ResultUtil.data(regionService.getItemByLastName(lastName));
|
||||||
|
}
|
||||||
|
|
||||||
@GetMapping(value = "/item/{id}")
|
@GetMapping(value = "/item/{id}")
|
||||||
@ApiImplicitParam(name = "id", value = "地区ID", required = true, dataType = "String", paramType = "path")
|
@ApiImplicitParam(name = "id", value = "地区ID", required = true, dataType = "String", paramType = "path")
|
||||||
|
@ -184,6 +184,7 @@ public class SeckillApplyServiceImpl extends ServiceImpl<SeckillApplyMapper, Sec
|
|||||||
//保存促销活动商品信息
|
//保存促销活动商品信息
|
||||||
if (!promotionGoodsList.isEmpty()) {
|
if (!promotionGoodsList.isEmpty()) {
|
||||||
PromotionGoodsSearchParams searchParams = new PromotionGoodsSearchParams();
|
PromotionGoodsSearchParams searchParams = new PromotionGoodsSearchParams();
|
||||||
|
searchParams.setPromotionId(seckillId);
|
||||||
searchParams.setStoreId(storeId);
|
searchParams.setStoreId(storeId);
|
||||||
searchParams.setPromotionType(PromotionTypeEnum.SECKILL.name());
|
searchParams.setPromotionType(PromotionTypeEnum.SECKILL.name());
|
||||||
searchParams.setSkuIds(promotionGoodsList.stream().map(PromotionGoods::getSkuId).collect(Collectors.toList()));
|
searchParams.setSkuIds(promotionGoodsList.stream().map(PromotionGoods::getSkuId).collect(Collectors.toList()));
|
||||||
|
@ -562,7 +562,8 @@ public class EsGoodsSearchServiceImpl implements EsGoodsSearchService {
|
|||||||
*/
|
*/
|
||||||
private List<FunctionScoreQueryBuilder.FilterFunctionBuilder> buildKeywordSearch(String keyword) {
|
private List<FunctionScoreQueryBuilder.FilterFunctionBuilder> buildKeywordSearch(String keyword) {
|
||||||
List<FunctionScoreQueryBuilder.FilterFunctionBuilder> filterFunctionBuilders = new ArrayList<>();
|
List<FunctionScoreQueryBuilder.FilterFunctionBuilder> filterFunctionBuilders = new ArrayList<>();
|
||||||
MatchQueryBuilder goodsNameQuery = QueryBuilders.matchQuery("goodsName", keyword).operator(Operator.AND);
|
// operator 为 AND 时 需全部分词匹配。为 OR 时 需配置 minimumShouldMatch(最小分词匹配数)不设置默认为1
|
||||||
|
MatchQueryBuilder goodsNameQuery = QueryBuilders.matchQuery("goodsName", keyword).operator(Operator.OR).minimumShouldMatch("2");
|
||||||
//分词匹配
|
//分词匹配
|
||||||
filterFunctionBuilders.add(new FunctionScoreQueryBuilder.FilterFunctionBuilder(goodsNameQuery,
|
filterFunctionBuilders.add(new FunctionScoreQueryBuilder.FilterFunctionBuilder(goodsNameQuery,
|
||||||
ScoreFunctionBuilders.weightFactorFunction(10)));
|
ScoreFunctionBuilders.weightFactorFunction(10)));
|
||||||
|
@ -36,6 +36,14 @@ public interface RegionService extends IService<Region> {
|
|||||||
@Cacheable(key = "#id")
|
@Cacheable(key = "#id")
|
||||||
List<Region> getItem(String id);
|
List<Region> getItem(String id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据最后一级名称获取改所有上级地区id
|
||||||
|
*
|
||||||
|
* @param lastName 最后一级名称
|
||||||
|
* @return 全部地区id
|
||||||
|
*/
|
||||||
|
String getItemByLastName(String lastName);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取地址
|
* 获取地址
|
||||||
*
|
*
|
||||||
|
@ -61,6 +61,25 @@ public class RegionServiceImpl extends ServiceImpl<RegionMapper, Region> impleme
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据最后一级名称获取改所有上级地区id
|
||||||
|
*
|
||||||
|
* @param lastName 最后一级名称
|
||||||
|
* @return 全部地区id
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public String getItemByLastName(String lastName) {
|
||||||
|
StringBuilder sql = new StringBuilder();
|
||||||
|
LambdaQueryWrapper<Region> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
lambdaQueryWrapper.eq(Region::getName, lastName);
|
||||||
|
Region region = this.getOne(lambdaQueryWrapper, false);
|
||||||
|
if (region != null) {
|
||||||
|
sql.append(region.getPath()).append(",").append(region.getId());
|
||||||
|
return sql.toString().replace(",0,","");
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Region> getItem(String id) {
|
public List<Region> getItem(String id) {
|
||||||
LambdaQueryWrapper<Region> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<Region> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
@ -87,14 +87,14 @@ public class WechatMessageServiceImpl extends ServiceImpl<WechatMessageMapper, W
|
|||||||
oldList.add(JSONUtil.parseObj(item).getStr("template_id"));
|
oldList.add(JSONUtil.parseObj(item).getStr("template_id"));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
if (oldList.size() != 0) {
|
/* if (oldList.size() != 0) {
|
||||||
oldList.forEach(templateId -> {
|
oldList.forEach(templateId -> {
|
||||||
Map<String, Object> params = new HashMap<>(1);
|
Map<String, Object> params = new HashMap<>(1);
|
||||||
params.put("template_id", templateId);
|
params.put("template_id", templateId);
|
||||||
String message = WechatMessageUtil.wechatHandler(HttpUtils.doPostWithJson(delMsgTpl + accessToken, params));
|
String message = WechatMessageUtil.wechatHandler(HttpUtils.doPostWithJson(delMsgTpl + accessToken, params));
|
||||||
log.info("删除模版请求:{},删除模版响应:{}", params, message);
|
log.info("删除模版请求:{},删除模版响应:{}", params, message);
|
||||||
});
|
});
|
||||||
}
|
}*/
|
||||||
|
|
||||||
//加入数据
|
//加入数据
|
||||||
List<WechatMessageData> tmpList = initData();
|
List<WechatMessageData> tmpList = initData();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user