From 585ff1cd29e9875f5f2a0fa2b0fdc876c5c6301f Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期一, 26 一月 2026 18:26:31 +0800
Subject: [PATCH] 小程序 接口开发
---
server/dmmall_service/src/main/java/com/doumee/service/business/impl/IntegralServiceImpl.java | 134 ++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 128 insertions(+), 6 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 06eff63..1d8e54b 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
@@ -166,6 +170,14 @@
}else{
memberMapper.subtractIntegral(member.getId(),dealIntegralRequest.getIntegralNum());
}
+
+ //绔欏唴淇�
+ noticeService.saveMemberIntegralNotice(
+ dealIntegralRequest.getIntegralObjType(),Constants.ZERO,member.getId(),dealIntegralRequest.getIntegralNum(),
+ integral.getId(), dealIntegralRequest.getParam1()
+ );
+
+
return integral.getId();
}
@@ -196,6 +208,14 @@
}else{
shopMapper.subtractIntegral(shop.getId(),dealIntegralRequest.getIntegralNum());
}
+
+ //绔欏唴淇�
+ noticeService.saveMemberIntegralNotice(
+ dealIntegralRequest.getIntegralObjType(),Constants.ZERO,shop.getId(),dealIntegralRequest.getIntegralNum(),
+ integral.getId(), dealIntegralRequest.getParam1()
+ );
+
+
return integral.getId();
}
@@ -317,14 +337,14 @@
Utils.MP.blankToNull(pageWrap.getModel());
queryWrapper.selectAll(Integral.class);
- queryWrapper.selectAs(Member::getNickname, Fund::getNickName);
- queryWrapper.selectAs(Member::getImgurl, Fund::getImgurl);
- queryWrapper.selectAs(Member::getPhone, Fund::getPhone);
-
+ queryWrapper.selectAs(Member::getNickname, Integral::getNickName);
+ queryWrapper.selectAs(Member::getImgurl, Integral::getImgurl);
+ queryWrapper.selectAs(Member::getPhone, Integral::getPhone);
queryWrapper.leftJoin(Member.class, Member::getId, Integral::getMemberId);
-
queryWrapper.eq(pageWrap.getModel().getMemberId() != null, Integral::getMemberId, pageWrap.getModel().getMemberId());
queryWrapper.eq(pageWrap.getModel().getType() != null, Integral::getType, pageWrap.getModel().getType());
+ queryWrapper.eq(pageWrap.getModel().getUserType() != null, Integral::getUserType, pageWrap.getModel().getUserType());
+ queryWrapper.eq( pageWrap.getModel().getObjType() !=null, Integral::getObjType, pageWrap.getModel().getObjType());
queryWrapper.and(StringUtils.isNotBlank(pageWrap.getModel().getNickName()), ms -> ms.like(Member::getNickname, pageWrap.getModel().getNickName())
.or().like(Member::getPhone, pageWrap.getModel().getNickName())
);
@@ -342,6 +362,7 @@
String path = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode() + systemDictDataBiz.queryByCode(Constants.OSS, Constants.MEMBER_FILE).getCode();
for (Integral model : result.getRecords()) {
+ model.setStrObjType(Constants.IntegralObjType.getName(model.getObjType()));
if (StringUtils.isNotBlank(model.getImgurl())) {
model.setImgurl(path + model.getImgurl());
}
@@ -415,13 +436,114 @@
if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(result.getRecords())){
for (Integral integral:result.getRecords()) {
- integral.setStrType(Constants.IntegralObjType.getName(integral.getObjType()));
+ integral.setStrObjType(Constants.IntegralObjType.getName(integral.getObjType()));
}
}
return PageData.from(result);
}
+ @Override
+ @Transactional
+ public void updateIntegral(Integral param) {
+ if(param.getMemberId()==null || param.getType()==null
+ || param.getType()<0
+ || param.getType()>2
+ || Constants.formatBigdecimal(param.getNum()).compareTo(new BigDecimal(0))<=0){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ Date date = new Date();
+ Integral integral = new Integral();
+ Constants.IntegralObjType integralObjType =null;
+ if(Constants.equalsInteger(param.getUserType(), Constants.ZERO)){//鐢ㄦ埛璐﹀彿
+ MPJLambdaWrapper<Member> queryWrapper =new MPJLambdaWrapper<>();
+ queryWrapper.selectAll(Member.class);
+ queryWrapper.selectAs(Shop::getName,Member::getShopName);
+ queryWrapper.leftJoin(Shop.class, Shop::getId,Member::getBindShopId);
+ queryWrapper.eq(Member::getId,param.getMemberId());
+ Member model = memberMapper.selectJoinOne(Member.class,queryWrapper);
+ if(model == null ||Constants.equalsObject(model.getIsdeleted(),Constants.ONE)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀹㈡埛淇℃伅鏌ヨ鏃犳晥锛�");
+ }
+
+ BigDecimal num = param.getNum();
+ if(param.getType() == 1 &&Constants.formatBigdecimal(model.getIntegral()).compareTo(param.getNum())<0){
+ //濡傛灉鏄噺灏戯紝鍒ゆ柇鐢ㄦ埛浣欓鏄惁婊¤冻
+// num = num.multiply(new BigDecimal(-1));//鍑忓皯
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鐢ㄦ埛璐︽埛浣欓涓嶈冻锛�");
+ }
+ integralObjType = param.getType()==0?Constants.IntegralObjType.SYSTEM_RECHARGE:Constants.IntegralObjType.SYSTEM_DEDUCT;
+ 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)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"缁忛攢鍟嗕俊鎭煡璇㈡棤鏁堬紒");
+ }
+ BigDecimal num = param.getNum();
+ if(param.getType() == 1 &&Constants.formatBigdecimal(model.getIntegral()).compareTo(param.getNum())<0){
+ //濡傛灉鏄噺灏戯紝鍒ゆ柇鐢ㄦ埛浣欓鏄惁婊¤冻
+// 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);
+
+ 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);
+ }
@Override
public IntegralDataResponse getIntegralData(IntegralRecordDTO model){
IntegralDataResponse integralDataResponse = new IntegralDataResponse();
--
Gitblit v1.9.3