From 77970ad391881f9c49a3f15dda8bb447e9326fd2 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期五, 27 二月 2026 15:07:33 +0800
Subject: [PATCH] 小程序 接口开发
---
server/dmmall_service/src/main/java/com/doumee/service/business/impl/ShopServiceImpl.java | 75 ++++++++++++++++++++++++++-----------
1 files changed, 52 insertions(+), 23 deletions(-)
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/ShopServiceImpl.java b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/ShopServiceImpl.java
index c31ca94..263d5f3 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/ShopServiceImpl.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/ShopServiceImpl.java
@@ -4,7 +4,6 @@
import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.config.Jwt.JwtPayLoad;
import com.doumee.config.Jwt.JwtTokenUtil;
-import com.doumee.config.listener.event.VisitEvent;
import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
@@ -154,10 +153,18 @@
shop.setPassword(Utils.Secure.encryptPassword(shop.getPassword(), salt));
shop.setSalt(salt);
shopMapper.insert(shop);
+ //鍒嗕韩鐮�
String url = inviteRecordService.createShopMiniProgramCode(shop.getId());
if(StringUtils.isNotBlank(url)){
shopMapper.update(null,new UpdateWrapper<Shop>().lambda()
.set(Shop::getProgramCode,url)
+ .eq(Shop::getId,shop.getId()));
+ }
+ //鍒嗕韩娴锋姤
+ String posterUrl = inviteRecordService.createShareImg(Constants.ONE,shop.getId(),shop.getPosterImg());
+ if(StringUtils.isNotBlank(posterUrl)){
+ shopMapper.update(null,new UpdateWrapper<Shop>().lambda()
+ .set(Shop::getPosterImgCode,posterUrl)
.eq(Shop::getId,shop.getId()));
}
return shop.getId();
@@ -238,7 +245,7 @@
@Override
@Transactional
- public void updateById(Shop shop) {
+ public void updateById(Shop shop) throws Exception {
LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
if(shop.getId()==null ){
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), ResponseStatus.BAD_REQUEST.getMessage());
@@ -251,6 +258,20 @@
shop.setEditor(user.getId());
shop.setEditDate(new Date());
+ if(StringUtils.isBlank(model.getProgramCode())){
+ //鍒嗕韩鐮�
+ String url = inviteRecordService.createShopMiniProgramCode(shop.getId());
+ if(StringUtils.isNotBlank(url)){
+ shop.setProgramCode(url);
+ }
+ }
+ if(StringUtils.isNotBlank(shop.getPosterImg())){
+ //鍒嗕韩娴锋姤
+ String posterUrl = inviteRecordService.createShareImg(Constants.ONE,shop.getId(),shop.getPosterImg());
+ if(StringUtils.isNotBlank(posterUrl)){
+ shop.setPosterImgCode(posterUrl);
+ }
+ }
shopMapper.updateById(shop);
if(shop.getSaleType() !=null && !Constants.equalsInteger(shop.getSaleType(),model.getSaleType())){
//濡傛灉閿�鍞ā寮忓彂鐢熺紪鐮侊紝璁板綍鍙樻洿璁板綍
@@ -277,15 +298,15 @@
}
- @Override
- public void updateByIdInBatch(List<Shop> shops) {
- if (CollectionUtils.isEmpty(shops)) {
- return;
- }
- for (Shop shop: shops) {
- this.updateById(shop);
- }
- }
+// @Override
+// public void updateByIdInBatch(List<Shop> shops) {
+// if (CollectionUtils.isEmpty(shops)) {
+// return;
+// }
+// for (Shop shop: shops) {
+// this.updateById(shop);
+// }
+// }
@Transactional(rollbackFor = {Exception.class,BusinessException.class})
@Override
@@ -402,7 +423,18 @@
queryWrapper.leftJoin(Member.class,Member::getId,Shop::getMemberId);
queryWrapper.leftJoin(Labels.class,Labels::getId,Shop::getBigAreaId);
-
+ if(pageWrap.getModel().getAreaId()!=null){
+ queryWrapper.eq( Shop::getAreaId, pageWrap.getModel().getAreaId());
+ }else if(pageWrap.getModel().getCityId()!=null){
+ queryWrapper.leftJoin("areas a1 on a1.id=t.area_id");
+ queryWrapper.leftJoin("areas a2 on a2.id=a1.parent_id");
+ queryWrapper.apply("a2.id ="+pageWrap.getModel().getCityId());
+ } else if (pageWrap.getModel().getProvinceId()!=null){
+ queryWrapper.leftJoin("areas a1 on a1.id=t.area_id");
+ queryWrapper.leftJoin("areas a2 on a2.id=a1.parent_id");
+ queryWrapper.leftJoin("areas a3 on a3.id=a2.parent_id");
+ queryWrapper.apply("a3.id ="+pageWrap.getModel().getProvinceId());
+ }
queryWrapper.eq(Shop::getIsdeleted, Constants.ZERO);
queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getCode()) ,Shop::getCode,pageWrap.getModel().getCode());
queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getUsername()) ,Shop::getName,pageWrap.getModel().getUsername());
@@ -547,9 +579,6 @@
dto.setLabels(labels.stream().map(s->s.getName()).collect(Collectors.toList()));
List<ShopMenuDTO> shopMenuDTO = shopMenuService.findShopMenuDTO(shopId);
dto.setShopMenuDTOList(shopMenuDTO);
- //璁块棶鎿嶄綔
- VisitEvent<Shop> shopVisitEvent = new VisitEvent<>(this,shop);
- applicationEventPublisher.publishEvent(shopVisitEvent);
return dto;
}
@@ -679,20 +708,20 @@
&& StringUtils.isNotBlank(dto.getLgt())){
isArea = true;
}
-
- List<Shop> shopList = shopJoinMapper.selectList(new MPJLambdaWrapper<Shop>()
+ List<Shop> shopList = shopJoinMapper.selectJoinList(Shop.class,new MPJLambdaWrapper<Shop>()
.selectAll(Shop.class)
- .select(" CONVERT( ST_Distance_Sphere ( POINT ( LONGITUDE, LATITUDE ), POINT ( "+dto.getLgt()+", "+dto.getLat()+" )) /1000,DECIMAL(15,2))",Shop::getDistance)
- .leftJoin(Areas.class,Areas::getId,Shop::getAreaId)
- .eq(Objects.nonNull(dto.getCityId()),Areas::getParentId,dto.getCityId())
- .like(Objects.nonNull(dto.getShopName()),Shop::getName,dto.getShopName())
+ .select(" CONVERT( ST_Distance_Sphere ( POINT ( LONGITUDE, LATITUDE ), POINT ( '"+dto.getLgt()+"' , '"+dto.getLat()+"' )) /1000,DECIMAL(15,2))",Shop::getDistance)
+ .leftJoin(SystemUser.class,SystemUser::getId,Shop::getCreator)
+ .like(StringUtils.isNotBlank(dto.getCityName()),Shop::getAddr,dto.getCityName())
+ .like(StringUtils.isNotBlank(dto.getShopName()),Shop::getName,dto.getShopName())
.orderByDesc(!isArea,Shop::getId)
- .orderByAsc(isArea,Shop::getDistance)
+ .orderByAsc(isArea," distance ")
);
String path = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode()
+ systemDictDataBiz.queryByCode(Constants.OSS, Constants.SHOP_FILE).getCode();
for(Shop model:shopList){
- model.setImgFullUrl(path+model.getImgurl());
+
+ model.setImgFullUrl(StringUtils.isNotBlank(model.getImgurl())?path+model.getImgurl():null);
}
return shopList;
--
Gitblit v1.9.3