From 580f4d3c2ca9eee53eee95a4de2f6610b790780a Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期四, 12 二月 2026 18:24:13 +0800
Subject: [PATCH] 小程序 接口开发
---
server/dmmall_service/src/main/java/com/doumee/service/business/impl/IntegralServiceImpl.java | 148 +++++++++++++++++++++++++++++++++++--------------
1 files changed, 105 insertions(+), 43 deletions(-)
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/IntegralServiceImpl.java b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/IntegralServiceImpl.java
index a235dde..5cf3eb0 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/IntegralServiceImpl.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/IntegralServiceImpl.java
@@ -27,6 +27,7 @@
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.doumee.service.business.NoticeService;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
@@ -66,6 +67,9 @@
@Autowired
private ShopMapper shopMapper;
+
+ @Autowired
+ private NoticeService noticeService;
@Transactional(rollbackFor = {Exception.class, BusinessException.class})
@Override
@@ -151,7 +155,12 @@
integral.setCreator(member.getId());
integral.setIsdeleted(Constants.ZERO);
integral.setTitle(dealIntegralRequest.getIntegralObjType().getName());
- integral.setContent(dealIntegralRequest.getIntegralObjType().getNoteinfo());
+ String info = dealIntegralRequest.getIntegralObjType().getNoteinfo();
+ info = info.replace("${param}",dealIntegralRequest.getIntegralNum().toString());
+ if(StringUtils.isNotBlank(dealIntegralRequest.getParam1())){
+ info = info .replace("${param1}",dealIntegralRequest.getParam1());
+ }
+ integral.setContent(info);
integral.setObjId(dealIntegralRequest.getObjId());
integral.setObjType(dealIntegralRequest.getIntegralObjType().getKey());
integral.setType(dealIntegralRequest.getDealType());
@@ -166,6 +175,14 @@
}else{
memberMapper.subtractIntegral(member.getId(),dealIntegralRequest.getIntegralNum());
}
+
+ //绔欏唴淇�
+ noticeService.saveMemberIntegralNotice(
+ dealIntegralRequest.getIntegralObjType(),Constants.ZERO,member.getId(),dealIntegralRequest.getIntegralNum(),
+ integral.getId(), info
+ );
+
+
return integral.getId();
}
@@ -181,7 +198,12 @@
integral.setCreateDate(new Date());
integral.setIsdeleted(Constants.ZERO);
integral.setTitle(dealIntegralRequest.getIntegralObjType().getName());
- integral.setContent(dealIntegralRequest.getIntegralObjType().getNoteinfo());
+ String info = dealIntegralRequest.getIntegralObjType().getNoteinfo();
+ info = info.replace("${param}",dealIntegralRequest.getIntegralNum().toString());
+ if(StringUtils.isNotBlank(dealIntegralRequest.getParam1())){
+ info = info .replace("${param1}",dealIntegralRequest.getParam1());
+ }
+ integral.setContent(info);
integral.setObjId(dealIntegralRequest.getObjId());
integral.setObjType(dealIntegralRequest.getIntegralObjType().getKey());
integral.setType(dealIntegralRequest.getDealType());
@@ -191,11 +213,19 @@
integral.setUserType(Constants.ONE);
integralMapper.insert(integral);
if(dealIntegralRequest.getDealType().equals(Constants.ZERO)){
+
shopMapper.addIntegral(shop.getId(),dealIntegralRequest.getIntegralNum(),
dealIntegralRequest.getIntegralObjType().getAddTitle()==Constants.ZERO?dealIntegralRequest.getIntegralNum():BigDecimal.ZERO);
}else{
+
shopMapper.subtractIntegral(shop.getId(),dealIntegralRequest.getIntegralNum());
}
+
+ //绔欏唴淇�
+ noticeService.saveMemberIntegralNotice(
+ dealIntegralRequest.getIntegralObjType(),Constants.ZERO,shop.getId(),dealIntegralRequest.getIntegralNum(),
+ integral.getId(), info
+ );
return integral.getId();
}
@@ -212,11 +242,16 @@
integral.setCreateDate(new Date());
integral.setIsdeleted(Constants.ZERO);
integral.setTitle(dealIntegralRequest.getIntegralObjType().getName());
- integral.setContent(dealIntegralRequest.getIntegralObjType().getNoteinfo());
+ integral.setNum(dealIntegralRequest.getIntegralNum());
+ String info = dealIntegralRequest.getIntegralObjType().getNoteinfo();
+ info = info.replace("${param}",integral.getNum().toString());
+ if(StringUtils.isNotBlank(dealIntegralRequest.getParam1())){
+ info = info .replace("${param1}",dealIntegralRequest.getParam1());
+ }
+ integral.setContent(info);
integral.setObjId(dealIntegralRequest.getObjId());
integral.setObjType(dealIntegralRequest.getIntegralObjType().getKey());
integral.setType(dealIntegralRequest.getDealType());
- integral.setNum(dealIntegralRequest.getIntegralNum());
integral.setTotalNum(dealIntegralRequest.getDealType().equals(Constants.ZERO)? shop.getAmount().add(integral.getNum()):shop.getAmount().subtract(integral.getNum()));
integral.setOrderCode(dealIntegralRequest.getOrderCode());
integral.setUserType(Constants.TWO);
@@ -337,7 +372,7 @@
if (pageWrap.getModel().getEndtime() != null) {
queryWrapper.le(Integral::getCreateDate, pageWrap.getModel().getEndtime());
}
- queryWrapper.orderByDesc(Integral::getCreateDate);
+ queryWrapper.orderByDesc(Integral::getId);
IPage<Integral> result = integralJoinMapper.selectJoinPage(page, Integral.class, queryWrapper);
String path = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode() + systemDictDataBiz.queryByCode(Constants.OSS, Constants.MEMBER_FILE).getCode();
@@ -450,21 +485,32 @@
BigDecimal num = param.getNum();
if(param.getType() == 1 &&Constants.formatBigdecimal(model.getIntegral()).compareTo(param.getNum())<0){
//濡傛灉鏄噺灏戯紝鍒ゆ柇鐢ㄦ埛浣欓鏄惁婊¤冻
- num = num.multiply(new BigDecimal(-1));//鍑忓皯
+// num = num.multiply(new BigDecimal(-1));//鍑忓皯
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鐢ㄦ埛璐︽埛浣欓涓嶈冻锛�");
}
- //璐︽埛浣欓
- memberMapper.update(null,new UpdateWrapper<Member>().lambda()
- .eq(Member::getId,model.getId())
- .set(Member::getEditDate,date)
- .set(Member::getEditor,user.getId())
- .setSql(param.getType() == 0,"total_integral = ifnull(total_integral,0)+" + num)//绱澧炲姞
- .setSql(param.getType() == 0,"integral = ifnull(integral,0)+" + param.getNum())
- .setSql(param.getType() == 1,"integral = ifnull(integral,0)-" + param.getNum()));
-
integralObjType = param.getType()==0?Constants.IntegralObjType.SYSTEM_RECHARGE:Constants.IntegralObjType.SYSTEM_DEDUCT;
- integral.setTotalNum(param.getType() == 0? Constants.formatBigdecimal(model.getIntegral()).add(param.getNum()):Constants.formatBigdecimal(model.getIntegral()).subtract(param.getNum()));
- integral.setUserType(Constants.ZERO);
+ DealIntegralRequest dealIntegralRequest = new DealIntegralRequest();
+ dealIntegralRequest.setIntegralNum(num);
+ dealIntegralRequest.setDealType(param.getType());
+ dealIntegralRequest.setMemberId(model.getId());
+ dealIntegralRequest.setObjId(null);
+ dealIntegralRequest.setOrderCode(null);
+ dealIntegralRequest.setIntegralObjType(integralObjType);
+ this.dealIntegral(dealIntegralRequest);
+
+
+ //璐︽埛浣欓
+// memberMapper.update(null,new UpdateWrapper<Member>().lambda()
+// .eq(Member::getId,model.getId())
+// .set(Member::getEditDate,date)
+// .set(Member::getEditor,user.getId())
+// .setSql(param.getType() == 0,"total_integral = ifnull(total_integral,0)+" + num)//绱澧炲姞
+// .setSql(param.getType() == 0,"integral = ifnull(integral,0)+" + param.getNum())
+// .setSql(param.getType() == 1,"integral = ifnull(integral,0)-" + param.getNum()));
+//
+// integralObjType = param.getType()==0?Constants.IntegralObjType.SYSTEM_RECHARGE:Constants.IntegralObjType.SYSTEM_DEDUCT;
+// integral.setTotalNum(param.getType() == 0? Constants.formatBigdecimal(model.getIntegral()).add(param.getNum()):Constants.formatBigdecimal(model.getIntegral()).subtract(param.getNum()));
+// integral.setUserType(Constants.ZERO);
}else{//缁忛攢鍟嗚处鎴�
Shop model = shopMapper.selectById(param.getMemberId());
if(model == null ||Constants.equalsObject(model.getIsdeleted(),Constants.ONE)){
@@ -473,43 +519,59 @@
BigDecimal num = param.getNum();
if(param.getType() == 1 &&Constants.formatBigdecimal(model.getIntegral()).compareTo(param.getNum())<0){
//濡傛灉鏄噺灏戯紝鍒ゆ柇鐢ㄦ埛浣欓鏄惁婊¤冻
- num = num.multiply(new BigDecimal(-1));//鍑忓皯
+// num = num.multiply(new BigDecimal(-1));//鍑忓皯
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"缁忛攢鍟嗚处鎴风Н鍒嗕綑棰濅笉瓒筹紒");
}
//璐︽埛浣欓
- shopMapper.update(null,new UpdateWrapper<Shop>().lambda()
- .eq(Shop::getId,model.getId())
- .set(Shop::getEditDate,date)
- .set(Shop::getEditor,user.getId())
- .setSql(param.getType() == 0,"total_integral = ifnull(total_integral,0)+" + num)//绱澧炲姞
- .setSql(param.getType() == 0,"integral = ifnull(integral,0)+" + param.getNum())
- .setSql(param.getType() == 1,"integral = ifnull(integral,0)-" + param.getNum()));
- integralObjType = param.getType()==0?Constants.IntegralObjType.SHOP_SYSTEM_RECHARGE:Constants.IntegralObjType.SHOP_SYSTEM_DEDUCT;
- integral.setTotalNum(param.getType() == 0? Constants.formatBigdecimal(model.getIntegral()).add(param.getNum()):Constants.formatBigdecimal(model.getIntegral()).subtract(param.getNum()));
- integral.setUserType(Constants.ONE);
+// shopMapper.update(null,new UpdateWrapper<Shop>().lambda()
+// .eq(Shop::getId,model.getId())
+// .set(Shop::getEditDate,date)
+// .set(Shop::getEditor,user.getId())
+// .setSql(param.getType() == 0,"total_integral = ifnull(total_integral,0)+" + num)//绱澧炲姞
+// .setSql(param.getType() == 0,"integral = ifnull(integral,0)+" + param.getNum())
+// .setSql(param.getType() == 1,"integral = ifnull(integral,0)-" + param.getNum()));
+// integralObjType = param.getType()==0?Constants.IntegralObjType.SHOP_SYSTEM_RECHARGE:Constants.IntegralObjType.SHOP_SYSTEM_DEDUCT;
+// integral.setTotalNum(param.getType() == 0? Constants.formatBigdecimal(model.getIntegral()).add(param.getNum()):Constants.formatBigdecimal(model.getIntegral()).subtract(param.getNum()));
+// integral.setUserType(Constants.ONE);
+
+ DealIntegralRequest dealIntegralRequest = new DealIntegralRequest();
+ dealIntegralRequest.setIntegralNum(num);
+ dealIntegralRequest.setDealType(param.getType());
+ dealIntegralRequest.setMemberId(model.getId());
+ dealIntegralRequest.setObjId(null);
+ dealIntegralRequest.setOrderCode(null);
+ dealIntegralRequest.setIntegralObjType(integralObjType);
+ this.dealShopIntegral(dealIntegralRequest);
+
+
}
- integral.setCreateDate(new Date());
- integral.setCreator(user.getId());
- integral.setIsdeleted(Constants.ZERO);
- integral.setNum(param.getNum());
- integral.setTitle(integralObjType.getName());
- integral.setContent(integralObjType.getNoteinfo().replace("${param}",integral.getNum().toString()));
- integral.setMemberId(param.getMemberId());
- integral.setObjId(param.getMemberId());
- integral.setObjType(integralObjType.getKey());
- integral.setType(param.getType());
- integral.setRemark(param.getRemark());
- integral.setOrderCode(null);
- integralMapper.insert(integral);
+// integral.setCreateDate(new Date());
+// integral.setCreator(user.getId());
+// integral.setIsdeleted(Constants.ZERO);
+// integral.setNum(param.getNum());
+// integral.setTitle(integralObjType.getName());
+// integral.setContent(integralObjType.getNoteinfo().replace("${param}",integral.getNum().toString()));
+// integral.setMemberId(param.getMemberId());
+// integral.setObjId(param.getMemberId());
+// integral.setObjType(integralObjType.getKey());
+// integral.setType(param.getType());
+// integral.setRemark(param.getRemark());
+// integral.setOrderCode(null);
+// integralMapper.insert(integral);
}
@Override
public IntegralDataResponse getIntegralData(IntegralRecordDTO model){
+ if(Objects.isNull(model)
+ || Objects.isNull(model.getUserType())
+ || Objects.isNull(model.getMemberId())){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
IntegralDataResponse integralDataResponse = new IntegralDataResponse();
integralDataResponse.setSurplusIntegral(BigDecimal.ZERO);
integralDataResponse.setExpiredIntegral(BigDecimal.ZERO);
List<Integral> list = integralMapper.selectList(new QueryWrapper<Integral>().lambda()
.eq(Objects.nonNull(model.getUserType()),Integral::getUserType,model.getUserType())
- .eq(Objects.nonNull(model.getType()),Integral::getType,model.getType())
+// .eq(Objects.nonNull(model.getType()),Integral::getType,model.getType())
.eq(Integral::getMemberId,model.getMemberId())
.orderByDesc(Integral::getCreateDate));
@@ -522,7 +584,7 @@
//绉垎澶辨晥鏂瑰紡 0闀挎湡鏈夋晥 1鎸夌Н鍒嗕骇鐢熸椂闂村け鏁�
Integer type = Integer.valueOf(systemDictDataBiz.queryByCode(Constants.INTEGRAL_SET, Constants.INTERALSET_INTEGRALINVALIDTYPE).getCode());
//娑堣垂鑰呯Н鍒� 闇�瑕佹煡璇㈠嵆灏嗚繃鏈熺Н鍒�
- if(Constants.equalsInteger(type,Constants.ZERO)){
+ if(Constants.equalsInteger(type,Constants.ONE)){
Integer validYear = Integer.valueOf(systemDictDataBiz.queryByCode(Constants.INTEGRAL_SET, Constants.INTERALSET_INTEGRALINVALIDCIRCLE).getCode());
if(validYear.compareTo(Constants.ZERO)>Constants.ZERO){
list = integralMapper.selectList(new QueryWrapper<Integral>().lambda()
--
Gitblit v1.9.3