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/GoodsorderServiceImpl.java | 605 +++++++++++++++++++++++++-----------------------------
1 files changed, 278 insertions(+), 327 deletions(-)
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
index e9eb54b..0d71799 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
@@ -21,6 +21,7 @@
import com.doumee.dao.business.join.PlanorderDetailJoinMapper;
import com.doumee.dao.business.model.*;
import com.doumee.dao.system.dto.PlatformConfigDTO;
+import com.doumee.dao.system.model.SystemUser;
import com.doumee.dao.web.dto.CouponDTO;
import com.doumee.dao.web.request.*;
import com.doumee.dao.web.request.goods.*;
@@ -35,6 +36,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.doumee.service.business.IntegralService;
+import com.doumee.service.business.NoticeService;
import com.doumee.service.system.SystemDictDataService;
import com.github.binarywang.wxpay.bean.request.BaseWxPayRequest;
import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderRequest;
@@ -78,6 +80,8 @@
@Autowired
private GoodsorderMapper goodsorderMapper;
@Autowired
+ private UserActionMapper userActionMapper;
+ @Autowired
private ActivitySignMapper activitySignMapper;
@Autowired
private AftersaleMapper aftersaleMapper;
@@ -87,6 +91,10 @@
private MemberMapper memberMapper;
@Autowired
private CouponMapper couponMapper;
+ @Autowired
+ private NoticeService noticeService;
+ @Autowired
+ private NoticeMapper noticeMapper;
@Autowired
private MemberCouponJoinMapper memberCouponJoinMapper;
@Autowired
@@ -240,22 +248,47 @@
@Override
public void orderSendOutGoods(Goodsorder goodsorder) {
LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
-
+ if(StringUtils.isBlank(goodsorder.getKdCode()) ||StringUtils.isBlank(goodsorder.getKdName())){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
Goodsorder query=goodsorderMapper.selectById(goodsorder.getId());
if(query==null){
throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),ResponseStatus.DATA_EMPTY.getMessage());
}
- if(!Constants.equalsInteger(query.getStatus(),Constants.ONE)){
+ if(!Constants.equalsInteger(query.getStatus(),Constants.OrderStatus.PAY_DONE.getKey())
+ && !Constants.equalsInteger(query.getStatus(),Constants.OrderStatus.WAIT_RECEIVE.getKey())){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璁㈠崟鐘舵�佸凡娴佽浆锛岃鍒锋柊椤甸潰锛�");
}
- goodsorder.setEditDate(new Date());
- goodsorder.setEditor(user.getId());
- goodsorder.setKdDate(new Date());
- goodsorder.setKdUser(user.getId());
- goodsorder.setStatus(Constants.OrderStatus.WAIT_RECEIVE.getKey());
- goodsorderMapper.updateById(goodsorder);
+ if(!Constants.equalsInteger(query.getReceiveType(),Constants.ZERO)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璇ヨ鍗曟湁瀹㈡埛鍒板簵鑷彁锛屾棤闇�鍙戣揣鎿嶄綔锛�");
+ }
+ Goodsorder update = new Goodsorder();
+ update.setId(goodsorder.getId());
+ update.setKdName(goodsorder.getKdName());
+ update.setKdCode(goodsorder.getKdCode());
+ update.setKdInfo(goodsorder.getKdInfo());
+ update.setKdId(goodsorder.getKdId());
+ update.setEditDate(new Date());
+ update.setEditor(user.getId());
+ update.setKdDate(new Date());
+ update.setKdUser(user.getId());
+ update.setStatus(Constants.OrderStatus.WAIT_RECEIVE.getKey());
+ goodsorderMapper.updateById(update);
- // TODO 鍙戦�佸井淇℃ā鏉挎秷鎭�
+ if(Constants.equalsInteger(query.getStatus(), Constants.OrderStatus.WAIT_RECEIVE.getKey())){
+ //濡傛灉鏄揩閫掑彉鏇�
+ UserActionServiceImpl.saveUserActionBiz(user,query.getId(),
+ Constants.UserActionType.CHANGE_ORDER_KD,
+ userActionMapper,
+ update.getEditDate(),
+ new String[]{goodsorder.getKdInfo()},
+ JSONObject.toJSONString(update) ,
+ query.getKdName()+"(鍗曞彿锛�"+query.getKdCode()+")",
+ goodsorder.getKdName()+"(鍗曞彿锛�"+goodsorder.getKdCode()+")");
+
+ }
+
+ /* // TODO 鍙戦�佸井淇℃ā鏉挎秷鎭�
Member member=memberMapper.selectById(query.getMemberId());
MPJLambdaWrapper<GoodsorderDetail> queryWrapper = new MPJLambdaWrapper<>();
queryWrapper.eq(GoodsorderDetail::getIsdeleted,Constants.ZERO);
@@ -263,7 +296,7 @@
queryWrapper.orderByDesc(GoodsorderDetail::getCreateDate);
queryWrapper.last("limit 1");
GoodsorderDetail goodsorderDetail=goodsorderDetailMapper.selectOne(queryWrapper);
- SendWxMessage.orderSendNotice(goodsorder,goodsorderDetail!=null?goodsorderDetail.getName():"",member);
+ SendWxMessage.orderSendNotice(goodsorder,goodsorderDetail!=null?goodsorderDetail.getName():"",member);*/
}
@@ -360,7 +393,7 @@
throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),ResponseStatus.DATA_EMPTY.getMessage());
}
- cancelOrder( query.getId(), user.getId(),goodsorder.getCancelInfo() );
+ cancelOrderNew( query.getId(), user.getId(),goodsorder.getCancelInfo() );
}
@@ -377,34 +410,45 @@
@Override
public Goodsorder findById(Integer id) {
- Goodsorder result=goodsorderJoinMapper.selectById(id);
+ MPJLambdaWrapper<Goodsorder> q = new MPJLambdaWrapper<Goodsorder>()
+ .selectAll(Goodsorder.class)
+ .selectAs(Shop::getName,Goodsorder::getShopName)
+ .selectAs(Member::getNickname,Goodsorder::getNickName)
+ .selectAs(Member::getPhone,Goodsorder::getPhone)
+ .selectAs(Member::getName,Goodsorder::getMemberName)
+ .selectAs(MemberCoupon::getName,Goodsorder::getCouponName)
+ .select("t4.realname",Goodsorder::getKdUserName)
+ .select("t5.realname",Goodsorder::getCancelUserName)
+ .select("t6.realname",Goodsorder::getRefundUserName)
+ .selectAs(Shop::getName,Goodsorder::getShopName)
+ .leftJoin(MemberCoupon.class,MemberCoupon::getId,Goodsorder::getCouponId)
+ .leftJoin(Shop.class,Shop::getId,Goodsorder::getDistributionShopId)
+ .leftJoin(Member.class,Member::getId,Goodsorder::getMemberId)
+ .leftJoin(SystemUser.class,SystemUser::getId,Goodsorder::getKdUser)
+ .leftJoin(SystemUser.class,SystemUser::getId,Goodsorder::getCancelUser)
+ .leftJoin(SystemUser.class,SystemUser::getId,Goodsorder::getRefundUserId)
+ .eq(Goodsorder::getId,id);
+ Goodsorder result=goodsorderJoinMapper.selectJoinOne(Goodsorder.class,q);
if(Objects.nonNull(result)){
MPJLambdaWrapper<GoodsorderDetail> queryWrapper = new MPJLambdaWrapper<>();
- queryWrapper.selectAll(GoodsorderDetail.class);
- queryWrapper.selectAs(Labels::getName,GoodsorderDetail::getLablesName);
- queryWrapper.eq(GoodsorderDetail::getIsdeleted,Constants.ZERO);
- queryWrapper.eq(GoodsorderDetail::getOrderId,result.getId());
- queryWrapper.leftJoin(GoodsSku.class,GoodsSku::getId,GoodsorderDetail::getGoodsSkuId);
- queryWrapper.leftJoin(Goods.class,Goods::getId,GoodsSku::getGoodsId);
- queryWrapper.leftJoin(Labels.class,Labels::getId,Goods::getCategoryId);
+ queryWrapper.selectAll(GoodsorderDetail.class)
+ .selectAs(Labels::getName,GoodsorderDetail::getCategoryName)
+ .eq(GoodsorderDetail::getIsdeleted,Constants.ZERO)
+ .leftJoin(GoodsSku.class,GoodsSku::getId,GoodsorderDetail::getGoodsSkuId)
+ .leftJoin(Goods.class,Goods::getId,GoodsSku::getGoodsId)
+ .leftJoin(Labels.class,Labels::getId,Goods::getCategoryId)
+ .eq(GoodsorderDetail::getOrderId,result.getId()) ;
List<GoodsorderDetail> goodsorderDetailList=goodsorderDetailMapper.selectList(queryWrapper);
- String path = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode() + systemDictDataBiz.queryByCode(Constants.OSS, Constants.ACTIVITY_FILE).getCode();
-
+ String path = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode()
+ + systemDictDataBiz.queryByCode(Constants.OSS, Constants.GOODS_FILE).getCode();
for(GoodsorderDetail model:goodsorderDetailList){
if(StringUtils.isNotBlank(model.getImgurl())){
model.setImgurl(path+ model.getImgurl());
}
+ //灏忚
+ model.setTotalPrice(Constants.formatBigdecimal(model.getPrice()).multiply(new BigDecimal(Constants.formatIntegerNum(model.getGoodsNum()))));
}
result.setGoodsorderDetailList(goodsorderDetailList);
-
- //鏌ヨ鍜栧暋璁″垝璁㈤槄鍛ㄦ湡
- if(Constants.equalsInteger(result.getType(),Constants.TWO)){
- MPJLambdaWrapper<PlanorderDetail> queryplan = new MPJLambdaWrapper<>();
- queryplan.eq(PlanorderDetail::getOrderId,result.getId());
- queryplan.last("limit 1");
- PlanorderDetail planorderDetail= planorderDetailJoinMapper.selectOne( queryplan);
- result.setPlanorderDetail(planorderDetail);
- }
}
return result;
}
@@ -426,82 +470,115 @@
IPage<Goodsorder> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
MPJLambdaWrapper<Goodsorder> queryWrapper = new MPJLambdaWrapper<>();
Utils.MP.blankToNull(pageWrap.getModel());
-
queryWrapper.selectAll(Goodsorder.class);
- queryWrapper.selectAs(Member::getNickname,Goodsorder::getNickName);
- queryWrapper.selectAs(Member::getPhone,Goodsorder::getPhone);
- queryWrapper.selectAs(Addr::getAddr,Goodsorder::getAddr);
- // queryWrapper.select("(select CREATE_DATE from order_urge where ORDER_ID=t.id and ISDELETED=0 ORDER BY CREATE_DATE desc limit 1) as urgeCreateDate ");
- queryWrapper.leftJoin(Member.class,Member::getId,Goodsorder::getMemberId);
- queryWrapper.leftJoin(Addr.class,Addr::getMemberId,Member::getId);
- queryWrapper.eq(Addr::getIsDefault,Constants.ONE);
-
- queryWrapper.eq(pageWrap.getModel().getCode()!=null,Goodsorder::getCode,pageWrap.getModel().getCode());
- queryWrapper.and(StringUtils.isNotBlank(pageWrap.getModel().getNickName()),ms->ms.like(Goodsorder::getLinkname,pageWrap.getModel().getNickName())
- .or().like(Goodsorder::getLinkphone,pageWrap.getModel().getNickName())
- );
- queryWrapper.ge(pageWrap.getModel().getStarttime()!=null,Goodsorder::getCreateDate,pageWrap.getModel().getStarttime());
- queryWrapper.le(pageWrap.getModel().getEndtime()!=null,Goodsorder::getCreateDate, pageWrap.getModel().getEndtime());
-
- queryWrapper.eq(pageWrap.getModel().getPayOrderId()!=null,Goodsorder::getPayOrderId,pageWrap.getModel().getPayOrderId());
+ queryWrapper.selectAs(Shop::getName,Goodsorder::getShopName);
+ initPageQueryWrapper(queryWrapper,pageWrap);
+ queryWrapper.selectAs(MemberCoupon::getName,Goodsorder::getCouponName);
+ queryWrapper.leftJoin(MemberCoupon.class,MemberCoupon::getId,Goodsorder::getCouponId);
queryWrapper.eq(pageWrap.getModel().getStatus()!=null,Goodsorder::getStatus,pageWrap.getModel().getStatus());
- queryWrapper.eq(pageWrap.getModel().getIsdeleted()==null,Goodsorder::getIsdeleted,Constants.ZERO);
queryWrapper.orderByDesc(Goodsorder::getCreateDate);
IPage<Goodsorder> result = goodsorderJoinMapper.selectJoinPage(page, Goodsorder.class, queryWrapper);
- String path = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode() + systemDictDataBiz.queryByCode(Constants.OSS, Constants.GOODS_FILE).getCode();
-
+ List<Integer> idList = new ArrayList<>();
for(Goodsorder model:result.getRecords()){
- model.setResourcePath(path);
- //璁㈠崟鎬婚噾棰濈瓑浜庡疄浠橀噾棰濆姞浼樻儬閲戦锛屽啀鍑忓幓閫�娆鹃噾棰�
- BigDecimal sumMoney=new BigDecimal(0);
- if(model.getPrice()!=null){
- if(model.getIntegral()!=null){
- sumMoney=model.getPrice().add(model.getIntegral());
- if(Constants.equalsInteger(model.getIsAftersale(),Constants.ONE)&&model.getAftersaleMoney()!=null){
- sumMoney.subtract(model.getAftersaleMoney());
- model.setOrderMoneyCount(sumMoney);
- }else{
- model.setOrderMoneyCount(sumMoney);
- }
- }else{
- model.setOrderMoneyCount(model.getPrice());
- }
- }else if(model.getIntegral()!=null){
- sumMoney=model.getIntegral();
+ idList.add(model.getId());
+ }
+ if(idList.size()>0){
+ dealOrderDetailsBiz(idList,result);//鏌ヨ璁㈠崟鏄庣粏
+ }
+ PageData<Goodsorder> rr = PageData.from(result);
+ if(pageWrap.getPage() == 1 && pageWrap.getModel().getNeedCount()!=null&& pageWrap.getModel().getNeedCount()){
+ //濡傛灉鏌ヨ绗竴椤碉紝鍋氭暟鎹粺璁�
+ rr.setCountData(dealCountOrderNum(pageWrap));
+ }
+ return rr;
+ }
+
+ private void initPageQueryWrapper(MPJLambdaWrapper<Goodsorder> queryWrapper, PageWrap<Goodsorder> pageWrap) {
+ queryWrapper.leftJoin(Shop.class,Shop::getId,Goodsorder::getDistributionShopId);
+ queryWrapper.eq(Goodsorder::getIsdeleted,Constants.ZERO);
+ queryWrapper.eq(pageWrap.getModel().getCode()!=null,Goodsorder::getCode,pageWrap.getModel().getCode());
+ queryWrapper.eq(StringUtils.isNotBlank(pageWrap.getModel().getShopName()),Shop::getName,pageWrap.getModel().getShopName());
+ queryWrapper.and(StringUtils.isNotBlank(pageWrap.getModel().getNickName()),ms->ms.like(Goodsorder::getLinkname,pageWrap.getModel().getNickName())
+ .or().like(Goodsorder::getLinkphone,pageWrap.getModel().getNickName())
+ );
+ queryWrapper.ge(pageWrap.getModel().getStarttime()!=null,Goodsorder::getCreateDate,pageWrap.getModel().getStarttime());
+ queryWrapper.le(pageWrap.getModel().getEndtime()!=null,Goodsorder::getCreateDate, pageWrap.getModel().getEndtime());
+ queryWrapper.eq(pageWrap.getModel().getReceiveType()!=null,Goodsorder::getReceiveType,pageWrap.getModel().getReceiveType());
+ queryWrapper.eq(pageWrap.getModel().getPayOrderId()!=null,Goodsorder::getPayOrderId,pageWrap.getModel().getPayOrderId());
+ }
+
+
+ private Goodsorder dealCountOrderNum( PageWrap<Goodsorder> pageWrap) {
+ MPJLambdaWrapper<Goodsorder> queryWrapper = new MPJLambdaWrapper<>();
+ initPageQueryWrapper(queryWrapper,pageWrap);
+ Goodsorder goodsorder = new Goodsorder();
+ queryWrapper.eq( Goodsorder::getStatus,Constants.OrderStatus.WAIT_PAY.getKey());
+ goodsorder.setWaitPayNum(goodsorderJoinMapper.selectJoinCount(queryWrapper));//寰呮敮浠�
+
+ queryWrapper = new MPJLambdaWrapper<>();
+ initPageQueryWrapper(queryWrapper,pageWrap);
+ queryWrapper.eq( Goodsorder::getStatus,Constants.OrderStatus.PAY_DONE.getKey());
+ goodsorder.setWaitKdNum(goodsorderJoinMapper.selectJoinCount(queryWrapper));//寰呭彂璐э紝寰呰嚜鎻�
+
+ queryWrapper = new MPJLambdaWrapper<>();
+ initPageQueryWrapper(queryWrapper,pageWrap);
+ queryWrapper.eq( Goodsorder::getStatus,Constants.OrderStatus.WAIT_RECEIVE.getKey());
+ goodsorder.setWaitDoneNum(goodsorderJoinMapper.selectJoinCount(queryWrapper));//寰呮敹璐�
+ return goodsorder;
+
+ }
+
+ private void dealOrderDetailsBiz(List<Integer> idList, IPage<Goodsorder> result) {
+ MPJLambdaWrapper<GoodsorderDetail> queryGoods = new MPJLambdaWrapper<>();
+ queryGoods.selectAll(GoodsorderDetail.class);
+ queryGoods.selectAs(Goods::getImgurl,GoodsorderDetail::getGoodsImgurl);
+ queryGoods.selectAs(Labels::getName, GoodsorderDetail::getCategoryName);
+ queryGoods.select("ls.name as parentName ");
+
+ queryGoods.leftJoin(GoodsSku.class,GoodsSku::getId,GoodsorderDetail::getGoodsSkuId);
+ queryGoods.leftJoin(Goods.class,Goods::getId,GoodsSku::getGoodsId);
+
+ queryGoods.leftJoin(Labels.class, Labels::getId, Goods::getCategoryId);
+ queryGoods.leftJoin("labels ls on ls.id=t2.PARENT_CATEGORY_ID");
+ queryGoods.in(GoodsorderDetail::getOrderId,idList);
+ queryGoods.eq(GoodsorderDetail::getIsdeleted,Constants.ZERO);
+ List<GoodsorderDetail> goodsorderDetailList=goodsorderDetailJoinMapper.selectList(queryGoods);
+ String fullUrl = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()+
+ systemDictDataBiz.queryByCode(Constants.OSS,Constants.GOODS_FILE).getCode();
+ for(Goodsorder model :result.getRecords()){
+ initOrderPrice(model);
+ model.setGoodsorderDetailList(getDetailListById(fullUrl,goodsorderDetailList,model.getId()));
+ }
+ }
+
+ private void initOrderPrice(Goodsorder model) {
+ //璁㈠崟鎬婚噾棰濈瓑浜庡疄浠橀噾棰濆姞浼樻儬閲戦锛屽啀鍑忓幓閫�娆鹃噾棰�
+ BigDecimal sumMoney=new BigDecimal(0);
+ if(model.getPrice()!=null){
+ if(model.getIntegral()!=null){
+ sumMoney=model.getPrice().add(model.getIntegral());
if(Constants.equalsInteger(model.getIsAftersale(),Constants.ONE)&&model.getAftersaleMoney()!=null){
sumMoney.subtract(model.getAftersaleMoney());
model.setOrderMoneyCount(sumMoney);
}else{
model.setOrderMoneyCount(sumMoney);
}
+ }else{
+ model.setOrderMoneyCount(model.getPrice());
}
-
-
- MPJLambdaWrapper<GoodsorderDetail> queryGoods = new MPJLambdaWrapper<>();
- queryGoods.selectAll(GoodsorderDetail.class);
- queryGoods.selectAs(Goods::getImgurl,GoodsorderDetail::getGoodsImgurl);
- queryGoods.selectAs(Labels::getName, GoodsorderDetail::getCategoryName);
- queryGoods.select("ls.name as parentName ");
-
- queryGoods.leftJoin(GoodsSku.class,GoodsSku::getId,GoodsorderDetail::getGoodsSkuId);
- queryGoods.leftJoin(Goods.class,Goods::getId,GoodsSku::getGoodsId);
-
- queryGoods.leftJoin(Labels.class, Labels::getId, Goods::getCategoryId);
- queryGoods.leftJoin("labels ls on ls.id=t2.PARENT_CATEGORY_ID");
- queryGoods.eq(GoodsorderDetail::getOrderId,model.getId());
- queryGoods.eq(GoodsorderDetail::getIsdeleted,Constants.ZERO);
- List<GoodsorderDetail> goodsorderDetailList=goodsorderDetailJoinMapper.selectList(queryGoods);
- goodsorderDetailList.stream().forEach(s ->{
- if(StringUtils.isBlank(s.getImgurl())){
- s.setImgurl(s.getGoodsImgurl());
- }
- });
- model.setGoodsorderDetailList(goodsorderDetailList);
+ }else if(model.getIntegral()!=null){
+ sumMoney=model.getIntegral();
+ if(Constants.equalsInteger(model.getIsAftersale(),Constants.ONE)&&model.getAftersaleMoney()!=null){
+ sumMoney.subtract(model.getAftersaleMoney());
+ model.setOrderMoneyCount(sumMoney);
+ }else{
+ model.setOrderMoneyCount(sumMoney);
+ }
}
- return PageData.from(result);
}
+
@Override
public PageData<Goodsorder> findPageShop(PageWrap<Goodsorder> pageWrap) {
IPage<Goodsorder> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
@@ -533,8 +610,10 @@
w.like(GoodsorderDetail::getName,pageWrap.getModel().getGoodsName() ).or().eq(GoodsorderDetail::getGoodsSkuId,pageWrap.getModel().getGoodsName());
} );
List<GoodsorderDetail> goodsorderDetailList=goodsorderDetailJoinMapper.selectList(queryGoods);
+ String fullUrl = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()+
+ systemDictDataBiz.queryByCode(Constants.OSS,Constants.GOODS_FILE).getCode();
for(Goodsorder model:result.getRecords()){
- model.setGoodsorderDetailList(getDetailListById(goodsorderDetailList,model.getId()));
+ model.setGoodsorderDetailList(getDetailListById(fullUrl,goodsorderDetailList,model.getId()));
}
if(pageWrap.getPage() == 1 && pageWrap.getModel().getDistributionShopId()!=null){
//濡傛灉鏌ヨ绗竴椤碉紝鍋氱粡閿�鍟嗛攢鍞俊鎭粺璁′笟鍔℃煡璇�
@@ -569,11 +648,16 @@
return rr;
}
- private List<GoodsorderDetail> getDetailListById(List<GoodsorderDetail> goodsorderDetailList, Integer id) {
+ private List<GoodsorderDetail> getDetailListById( String fullUrl ,List<GoodsorderDetail> goodsorderDetailList, Integer id) {
List<GoodsorderDetail> list = new ArrayList<>();
- for(GoodsorderDetail d : goodsorderDetailList){
- if(Constants.equalsInteger(id,d.getOrderId())){
- list.add(d);
+ if(goodsorderDetailList!=null && goodsorderDetailList.size()>0){
+ for(GoodsorderDetail d : goodsorderDetailList){
+ if(Constants.equalsInteger(id,d.getOrderId())){
+ if(d.getImgurl()!=null){
+ d.setImgurl(fullUrl+d.getImgurl());
+ }
+ list.add(d);
+ }
}
}
return list;
@@ -581,41 +665,42 @@
@Override
- public List<Goodsorder> exportExcel(Goodsorder pageWrap) {
-
- MPJLambdaWrapper<Goodsorder> queryWrapper = new MPJLambdaWrapper<>();
-
-
- queryWrapper.selectAll(Goodsorder.class);
- queryWrapper.selectAs(GoodsorderDetail::getName,Goodsorder::getGoodsName);
- queryWrapper.selectAs(GoodsorderDetail::getSkuName,Goodsorder::getSkuName);
- queryWrapper.selectAs(GoodsorderDetail::getGoodsNum,Goodsorder::getGoodsNum);
- queryWrapper.selectAs(GoodsorderDetail::getPrice,Goodsorder::getGoodsPrice);
- queryWrapper.selectAs(Member::getNickname,Goodsorder::getNickName);
- queryWrapper.selectAs(Member::getPhone,Goodsorder::getPhone);
- queryWrapper.selectAs(Addr::getAddr,Goodsorder::getAddr);
- queryWrapper.select("(select CREATE_DATE from order_urge where ORDER_ID=t.id and ISDELETED=0 ORDER BY CREATE_DATE desc limit 1) as urgeCreateDate ");
- queryWrapper.leftJoin(Member.class,Member::getId,Goodsorder::getMemberId);
- queryWrapper.leftJoin(Addr.class,Addr::getMemberId,Member::getId);
- queryWrapper.leftJoin(GoodsorderDetail.class,GoodsorderDetail::getOrderId,Goodsorder::getId);
- queryWrapper.eq(GoodsorderDetail::getIsdeleted,Constants.ZERO);
- queryWrapper.eq(Addr::getIsDefault,Constants.ONE);
-
- queryWrapper.eq(pageWrap.getCode()!=null,Goodsorder::getCode,pageWrap.getCode());
- queryWrapper.and(StringUtils.isNotBlank(pageWrap.getNickName()),ms->ms.like(Goodsorder::getLinkname,pageWrap.getNickName())
- .or().like(Goodsorder::getLinkphone,pageWrap.getNickName())
- );
- queryWrapper.ge(pageWrap.getStarttime()!=null,Goodsorder::getCreateDate,pageWrap.getStarttime());
- queryWrapper.le(pageWrap.getEndtime()!=null,Goodsorder::getCreateDate, pageWrap.getEndtime());
-
- queryWrapper.eq(pageWrap.getStatus()!=null,Goodsorder::getStatus,pageWrap.getStatus());
- queryWrapper.eq(pageWrap.getIsdeleted()==null,Goodsorder::getIsdeleted,Constants.ZERO);
- queryWrapper.eq(pageWrap.getIsdeleted()!=null,Goodsorder::getIsdeleted,pageWrap.getIsdeleted());
- queryWrapper.orderByDesc(Goodsorder::getCreateDate);
-
- List<Goodsorder> result = goodsorderJoinMapper.selectJoinList(Goodsorder.class, queryWrapper);
-
-
+ public List<GoodsorderExport> exportExcel(PageWrap<Goodsorder> pageWrap) {
+ pageWrap.getModel().setNeedCount(false);
+ PageData<Goodsorder> list = findPage(pageWrap);
+ List<GoodsorderExport> result = new ArrayList<>();
+ if(list!=null && list.getRecords()!=null){
+ for(Goodsorder order: list.getRecords()){
+ GoodsorderExport param = new GoodsorderExport();
+ param.setCode(order.getCode());
+ String goodsInfo = "";
+ int goodsNum= 0;
+ if(order.getGoodsorderDetailList()!=null && order.getGoodsorderDetailList().size()>0){
+ for(GoodsorderDetail detail:order.getGoodsorderDetailList()){
+ goodsNum += Constants.formatIntegerNum(detail.getGoodsNum());
+ goodsInfo+= StringUtils.defaultString(detail.getName(),"")+"/"+Constants.formatBigdecimal(detail.getGoodsWeight())+"kg"
+ +"("+Constants.formatBigdecimal(detail.getPrice())+" x "+Constants.formatIntegerNum(detail.getGoodsNum())+")锛沑n";
+ }
+ }
+ param.setTotalNum(goodsNum);
+ param.setGoodsName(goodsInfo);
+ param.setTotalPrice(order.getTotalPrice());
+ param.setIntegralPrice(order.getIntegral());
+ param.setCouponPrice(order.getCouponPrice());
+ param.setMailPrice(order.getMailPrice());
+ param.setPrice(order.getPrice());
+ param.setShopName(order.getShopName());
+ param.setShopSettlement(order.getShopSettlement());
+ param.setReceiveType(order.getReceiveType());
+ param.setLinkname(order.getLinkname());
+ param.setLinkphone(order.getLinkphone());
+ param.setAddr(order.getLinkaddr());
+ param.setKdInfo(StringUtils.defaultString(order.getKdName(),"")+StringUtils.defaultString(order.getKdCode(),""));
+ param.setStatus(order.getStatus());
+ param.setCreateDate(order.getCreateDate());
+ result.add(param);
+ }
+ }
return result;
}
@@ -627,187 +712,6 @@
/****************************************绉诲姩绔帴鍙e紑濮�********************************************************************/
-
-
- @Transactional(rollbackFor = {Exception.class,BusinessException.class})
- public PayResponse orderPay(OrderPayRequest orderPayRequest){
- Member member = memberMapper.selectById(orderPayRequest.getMemberId());
- //鏌ヨ鏀惰揣鍦板潃
- Addr addr = addrMapper.selectById(orderPayRequest.getAddressId());
- if(Objects.isNull(addr)){
- throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌鏀惰揣鍦板潃淇℃伅锛�");
- }
- Areas area = areasService.findById(addr.getAreaId(), Constants.TWO);
- if(Objects.isNull(area)){
- throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏀惰揣鍦板潃鍖哄垝淇℃伅鍙戠敓鍙樺寲锛岃鏇存柊鍚庝笅鍗曪紒");
- }
- Goodsorder goodsorder = new Goodsorder();
- goodsorder.setCreator(orderPayRequest.getMemberId());
- goodsorder.setIntegral(BigDecimal.ZERO);
- goodsorder.setCreateDate(new Date());
- goodsorder.setIsdeleted(Constants.ZERO);
- goodsorder.setMemberInfo(orderPayRequest.getRemark());
- goodsorder.setAddrId(addr.getId());
- goodsorder.setLinkaddr(area.getProvinceName()+area.getCityName() + area.getName() + addr.getAddr());
- goodsorder.setLinkphone(addr.getPhone());
- goodsorder.setLinkname(addr.getName());
- goodsorder.setMemberId(member.getId());
- goodsorder.setType(orderPayRequest.getOrderType());
- //鍗曟嵁缂栧彿 鑷
- goodsorder.setCode(getNextInCode());
- //璁$畻璁㈠崟鎬婚噾棰�
- BigDecimal sumPrice = BigDecimal.ZERO;
- //瀛樺偍璁板綍鏄庣粏
- List<PayDetailRequest> payDetailRequestList = orderPayRequest.getPayDetailRequestList();
- if(Objects.isNull(payDetailRequestList)||payDetailRequestList.size()==Constants.ZERO){
- throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏃犳槑缁嗘暟鎹�,璇锋鏌ラ�夋嫨鏁版嵁锛�");
- }
- List<GoodsorderDetail> goodsOrderDetailList = new ArrayList<>();
- for (PayDetailRequest payDetailRequest:payDetailRequestList) {
- //鏌ヨ鍟嗗搧
- GoodsSku goodsSku = goodsSkuMapper.selectById(payDetailRequest.getGoodsSkuId());
- if(Objects.isNull(goodsSku)){
- throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌鍟嗗搧SKU淇℃伅锛�");
- }
- Goods goods = goodsMapper.selectById(goodsSku.getGoodsId());
- if(Objects.isNull(goods)){
- throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌鍟嗗搧淇℃伅锛�");
- }
- if(goods.getStatus().equals(Constants.ONE)){
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀛樺湪鍟嗗搧宸插垹闄ゆ垨宸蹭笅鏋讹紝鏃犳硶涓嬪崟");
- }
- if(goodsSku.getStock().compareTo(new BigDecimal(Constants.formatIntegerNum(payDetailRequest.getGoodsNum())))<Constants.ZERO){
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀛樺湪鍟嗗搧搴撳瓨涓嶈冻锛屾棤娉曚笅鍗曪紒");
- }
- //鍟嗗搧搴撳瓨鎵i櫎
- goodsSku.setStock(goodsSku.getStock().subtract(new BigDecimal(Constants.formatIntegerNum(payDetailRequest.getGoodsNum()))));
- goodsSkuMapper.updateById(goodsSku);
- GoodsorderDetail goodsOrderDetail = new GoodsorderDetail();
- goodsOrderDetail.setCreator(member.getId());
- goodsOrderDetail.setCreateDate(new Date());
- goodsOrderDetail.setImgurl(StringUtils.isBlank(goodsSku.getImgurl())?goods.getImgurl():goodsSku.getImgurl());
- goodsOrderDetail.setName(goods.getName());
- goodsOrderDetail.setGoodsSkuId(goodsSku.getId().toString());
- goodsOrderDetail.setSkuName(goodsSku.getName());
- goodsOrderDetail.setPrice(goodsSku.getPrice());
- goodsOrderDetail.setGoodsNum(payDetailRequest.getGoodsNum());
- goodsOrderDetailList.add(goodsOrderDetail);
- sumPrice = sumPrice.add(goodsSku.getPrice().multiply(new BigDecimal(payDetailRequest.getGoodsNum())));
- //璐墿杞︽敮浠� 鍒犻櫎璐墿杞﹀晢鍝�
- if(orderPayRequest.getIsShopChart().equals(Constants.ONE)){
- shopcartMapper.deleteById(payDetailRequest.getShopCartId());
- }
- }
-
- //璁㈠崟鏀粯鐜伴噾閲戦
- goodsorder.setPrice((sumPrice.subtract(orderPayRequest.getDeductionBalance())));
- MemberCoupon memberCoupon = new MemberCoupon();
- if(!Objects.isNull(orderPayRequest.getCouponId())){
- memberCoupon = memberCouponMapper.selectById(orderPayRequest.getCouponId());
- if(Objects.isNull(memberCoupon)){
- throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌浼樻儬鍒镐俊鎭紒");
- }
- if(sumPrice.compareTo(memberCoupon.getLimitPrice())<Constants.ZERO){
- throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"璁㈠崟閲戦灏忎簬浼樻儬鍒告�婚噾棰濓紝鏃犳硶浣跨敤锛�");
- }
- if(memberCoupon.getStatus().equals(Constants.ONE)){
- throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"浼樻儬鍒稿凡浣跨敤锛�");
- }
- sumPrice = sumPrice.subtract(memberCoupon.getPrice());
- goodsorder.setCouponId(orderPayRequest.getCouponId());
- goodsorder.setCouponPrice(memberCoupon.getPrice());
- }
-
- goodsorder.setCode(getNextInCode());
- if(!Objects.isNull(memberCoupon)){
- memberCoupon.setStatus(Constants.ONE);
- memberCouponMapper.updateById(memberCoupon);
- }
- //鍜栬眴鍟嗗煄璁㈠崟 鍗曠嫭澶勭悊 鎵e噺绉垎 娣诲姞绉垎鍙樺姩璁板綍
- if(orderPayRequest.getOrderType().equals(Constants.ONE)){
- if(member.getIntegral().compareTo(sumPrice)<=Constants.ZERO){
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "鍜栬眴涓嶈冻,鏃犳硶鍏戞崲锛�");
- }
- goodsorder.setStatus(Constants.OrderStatus.PAY_DONE.getKey());
- goodsorder.setPayStatus(Constants.ZERO);
- goodsorder.setPayDate(new Date());
- goodsorderMapper.insert(goodsorder);
- //鏇存柊鐢ㄦ埛绉垎
- memberMapper.subtractIntegral(member.getId(),sumPrice);
- PayResponse payResponse = new PayResponse();
- payResponse.setOrderId(goodsorder.getId());
- return payResponse;
- }
- goodsorder.setIntegral(orderPayRequest.getDeductionBalance());
- goodsorderMapper.insert(goodsorder);
- //鏁版嵁瀛樺偍
- BigDecimal total = Constants.formatBigdecimal(goodsorder.getPrice()).add(Constants.formatBigdecimal(goodsorder.getIntegral())).add(Constants.formatBigdecimal(goodsorder.getCouponPrice()));
- BigDecimal rate =Constants.formatBigdecimal(goodsorder.getCouponPrice()).divide(total,4,BigDecimal.ROUND_HALF_UP);
- BigDecimal totalWxMoney = new BigDecimal(0);
- BigDecimal totalIntegral = new BigDecimal(0);
- for (int i =0;i< goodsOrderDetailList.size();i++) {
- GoodsorderDetail goodsOrderDetail= goodsOrderDetailList.get(i);
- goodsOrderDetail.setOrderId(goodsorder.getId());
- BigDecimal wxMoney ;
- BigDecimal integral;
- if(i!=0 && i == goodsOrderDetailList.size() -1){
- //澶勭悊鍥犱负鍥涜垗浜斿叆閫犳垚鐨勫彲閫�閲戦鎹熷け
- wxMoney = Constants.formatBigdecimal(goodsorder.getPrice()).subtract(totalWxMoney);
- integral = Constants.formatBigdecimal(goodsorder.getIntegral()).subtract(totalIntegral);;
- }else{
- //褰撳墠鏄庣粏瀹為檯浠锋牸
- BigDecimal detialTotal = Constants.formatBigdecimal(goodsOrderDetail.getPrice()).multiply(new BigDecimal(Constants.formatIntegerNum(goodsOrderDetail.getGoodsNum())));
- //鎶樼畻浼樻儬鍒稿悗鏀粯浠锋牸锛堝寘鍚幇閲戝拰浣欓閮ㄥ垎锛�
- BigDecimal actDetialTotal = detialTotal.subtract(detialTotal.multiply(rate));
- //鎸夌幇閲戝拰绉垎鏀粯姣斾緥锛屾姌绠楁瘡涓槑缁嗙幇閲戝拰绉垎鏀粯鐨勬暟閲�
- BigDecimal rate1 = detialTotal .divide(total,4,BigDecimal.ROUND_HALF_UP);
- //鍙��鐜伴噾閲戦
- wxMoney = Constants.formatBigdecimal(goodsorder.getPrice()).multiply(rate1);
- //鍓╀笅鐨勬槸浣欓鎶垫墸
- integral =actDetialTotal.subtract(wxMoney);
- totalWxMoney = totalWxMoney.add(wxMoney);//绱
- totalIntegral= totalIntegral.add(integral);//绱
- }
- goodsOrderDetail.setMoney(wxMoney);
- goodsOrderDetail.setIntegral(integral);
- goodsorderDetailMapper.insert(goodsOrderDetail);
- }
- //濡傛灉鎶垫墸閲戦澶т簬 0 鍒欒繘琛屼綑棰濅笟鍔″鐞�
- if(orderPayRequest.getDeductionBalance().compareTo(BigDecimal.ZERO)>Constants.ZERO){
- //鎶垫墸閲戦灏忎簬浼氬憳鍓╀綑浣欓
- if(orderPayRequest.getDeductionBalance().compareTo(member.getIntegral())<=Constants.ZERO){
- //鏇存柊浣欓淇℃伅 娣诲姞绉垎鍙樺姩璁板綍
- DealIntegralRequest dealIntegralRequest = new DealIntegralRequest();
- dealIntegralRequest.setIntegralNum(orderPayRequest.getDeductionBalance());
- dealIntegralRequest.setDealType(Constants.ONE);
- dealIntegralRequest.setMemberId(member.getId());
- dealIntegralRequest.setObjId(goodsorder.getId());
- dealIntegralRequest.setOrderCode(goodsorder.getCode().toString());
- dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.SHOP_ORDER);
- integralService.dealIntegral(dealIntegralRequest);
- //鍙戦�佸井淇″皬绋嬪簭璁㈤槄娑堟伅
- SendWxMessage.integralChangeNotice(member,orderPayRequest.getDeductionBalance());
- //浣欓鍏ㄩ儴鎶垫墸
- if(goodsorder.getPrice().compareTo(BigDecimal.ZERO)==Constants.ZERO){
- goodsorder.setStatus(Constants.OrderStatus.PAY_DONE.getKey());
- goodsorder.setPayStatus(Constants.ONE);
- goodsorder.setPayDate(new Date());
- goodsorderMapper.updateById(goodsorder);
- PayResponse payResponse = new PayResponse();
- payResponse.setOrderId(goodsorder.getId());
- return payResponse;
- }
- }else{
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"浣欓涓嶈冻锛屾棤娉曡繘琛屾敮浠橈紝褰撳墠鍓╀綑浣欓锛氥��"+member.getIntegral()+"銆戯紒");
- }
- }
- if(goodsorder.getPrice().compareTo(orderPayRequest.getTitlePrice())!=Constants.ZERO){
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鍟嗗搧浠锋牸鍙戠敓鍙樺寲锛岃鍒锋柊鍚庨噸鏂版敮浠橈紒");
- }
- return this.wxPay(goodsorder,member);
- }
-
-
@Override
@Transactional(rollbackFor = {Exception.class,BusinessException.class})
@@ -988,7 +892,7 @@
dealIntegralRequest.setMemberId(member.getId());
dealIntegralRequest.setObjId(goodsorder.getId());
dealIntegralRequest.setOrderCode(goodsorder.getCode().toString());
- dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.SHOP_ORDER);
+ dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.MEMBER_ORDER);
integralService.dealIntegral(dealIntegralRequest);
}
@@ -1009,6 +913,13 @@
PayResponse payResponse = new PayResponse();
payResponse.setOrderId(goodsorder.getId());
payResponse.setPayType(Constants.ONE);
+ //鍙戦�侀�氱煡
+ if(Objects.nonNull(goodsorder.getPickUpShopId())){
+ //鍙戦�佺珯鍐呬俊 - 缁忛攢鍟�
+ noticeService.orderPayNotice(goodsorder.getPickUpShopId(),goodsorder.getId(),goodsorder.getReceiveType());
+ }
+
+
return payResponse;
}
@@ -1236,7 +1147,7 @@
dealIntegralRequest.setMemberId(goodsorder.getMemberId());
dealIntegralRequest.setObjId(goodsorder.getId());
dealIntegralRequest.setOrderCode(goodsorder.getCode().toString());
- dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.SHOP_ORDER_CANCEL);
+ dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.MEMBER_ORDER_CANCEL);
integralService.dealIntegral(dealIntegralRequest);
}
//璁㈠崟淇℃伅鍙栨秷
@@ -1263,8 +1174,6 @@
SendWxMessage.orderCancel(goodsorder,memberMapper.selectById(goodsorder.getMemberId()),goodsName);
-
-
//鏌ヨ浼樻儬鍒镐俊鎭褰�
if(!Objects.isNull(goodsorder.getCouponId())){
MemberCoupon memberCoupon = memberCouponMapper.selectById(goodsorder.getCouponId());
@@ -1287,11 +1196,11 @@
throw new BusinessException(ResponseStatus.DATA_EMPTY);
}
if(!(Constants.equalsInteger(goodsorder.getStatus(),Constants.OrderStatus.WAIT_PAY.getKey())
- || Constants.equalsInteger(goodsorder.getStatus(),Constants.OrderStatus.PAY_DONE.getKey())
- || Constants.equalsInteger(goodsorder.getStatus(),Constants.OrderStatus.WAIT_RECEIVE.getKey()) )){
+ || Constants.equalsInteger(goodsorder.getStatus(),Constants.OrderStatus.PAY_DONE.getKey()) )){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璁㈠崟鍙栨秷澶辫触锛氳鍗曠姸鎬佸凡娴佽浆锛�");
}
- if(goodsorder.getPrice().compareTo(BigDecimal.ZERO)>Constants.ZERO){
+ if(Constants.formatBigdecimal(goodsorder.getPrice()).compareTo(BigDecimal.ZERO)>Constants.ZERO
+ && Constants.equalsObject(goodsorder.getPayStatus(),Constants.ONE) ){
//寰俊鐜伴噾閫�娆�
String refundCode = WxMiniUtilService.wxRefund(goodsorder.getCode().toString(), goodsorder.getPrice(), goodsorder.getPrice());
Fund fund = new Fund();
@@ -1308,7 +1217,9 @@
fund.setNum(goodsorder.getPrice());
fundMapper.insert(fund);
}
- if(goodsorder.getIntegral().compareTo(BigDecimal.ZERO)>Constants.ZERO){
+ //璁㈠崟宸叉敮浠樼姸鎬� 锛� 浣跨敤浜嗙Н鍒� 涓旂Н鍒嗕娇鐢ㄥぇ浜�0
+ if(goodsorder.getIntegral().compareTo(BigDecimal.ZERO)>Constants.ZERO
+ &&Constants.equalsInteger(goodsorder.getStatus(),Constants.OrderStatus.PAY_DONE.getKey())){
//鏇存柊浣欓淇℃伅 娣诲姞绉垎鍙樺姩璁板綍
DealIntegralRequest dealIntegralRequest = new DealIntegralRequest();
dealIntegralRequest.setIntegralNum(goodsorder.getIntegral());
@@ -1316,7 +1227,7 @@
dealIntegralRequest.setMemberId(goodsorder.getMemberId());
dealIntegralRequest.setObjId(goodsorder.getId());
dealIntegralRequest.setOrderCode(goodsorder.getCode().toString());
- dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.SHOP_ORDER_CANCEL);
+ dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.MEMBER_ORDER_CANCEL);
integralService.dealIntegral(dealIntegralRequest);
}
//璁㈠崟淇℃伅鍙栨秷
@@ -1341,7 +1252,10 @@
}
}
- //SendWxMessage.orderCancel(goodsorder,memberMapper.selectById(goodsorder.getMemberId()),goodsName);
+ // 鐢ㄦ埛涓诲姩鍙栨秷 鍙戦�佺粡閿�鍟嗙珯鍐呮秷鎭�
+ if(Objects.nonNull(goodsorder.getPickUpShopId())&&StringUtils.isBlank(cancelInfo)){
+ noticeService.orderCancelNotice(goodsorder.getPickUpShopId(),goodsorder.getId(),goodsorder.getCode().toString());
+ }
//鏌ヨ浼樻儬鍒镐俊鎭褰�
if(!Objects.isNull(goodsorder.getCouponId())){
@@ -1352,10 +1266,6 @@
}
}
}
-
-
-
-
public BigDecimal getDeductAmount(List<PayDetailRequest> requestList){
List<MemberCoupon> memberCouponList = new ArrayList<>();
@@ -1726,8 +1636,11 @@
List<JSONObject> shareCouponRewardList = platformConfigDTO.getShareCouponRewardList();
//[{"num":"2","couponId":6},{"num":"3","couponId":5}]
+ String couponIds = "";
+ String couponNames = "";
if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(shareCouponRewardList)){
List<MemberCoupon> memberCouponList = new ArrayList<>();
+ List<CouponNoticeRequest> requestList = new ArrayList<>();
for (JSONObject jsonObject:shareCouponRewardList) {
Integer couponId = jsonObject.getInteger("couponId");
Integer num = jsonObject.getInteger("num");
@@ -1739,14 +1652,28 @@
for (int i = 0; i < num; i++) {
memberCouponList.add(memberCoupon);
}
+ couponIds = couponIds + (StringUtils.isBlank(couponIds)? ",":"" )+ couponId ;
+ couponNames = couponNames + (StringUtils.isBlank(couponNames)? ",":"" )+ coupon.getName() ;
+
+
+ CouponNoticeRequest couponNoticeRequest = new CouponNoticeRequest();
+ couponNoticeRequest.setMemberCoupon(memberCoupon);
+ couponNoticeRequest.setNum(num);
+ requestList.add(couponNoticeRequest);
}
if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(memberCouponList)){
memberCouponJoinMapper.insert(memberCouponList);
+ }
+ if(CollectionUtils.isNotEmpty(requestList)){
+ //鍙戦�佺珯鍐呬俊
+ noticeService.couponNotice(inviteMember.getId(),requestList);
}
}
inviteRecordMapper.update(new UpdateWrapper<InviteRecord>().lambda()
.set(InviteRecord::getFirstOrderStatus,Constants.ONE)
.set(InviteRecord::getFirstFinishDate,new Date())
+ .set(InviteRecord::getCouponIds,couponIds)
+ .set(InviteRecord::getCouponNames,couponNames)
.eq(InviteRecord::getId,inviteRecord.getId())
);
}
@@ -1814,7 +1741,11 @@
dealIntegralRequest.setMemberId(goodsorder.getDistributionShopId());
dealIntegralRequest.setObjId(goodsorder.getId());
dealIntegralRequest.setOrderCode(goodsorder.getCode().toString());
- dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.ORDER_DONATE);
+ dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.SHOP_ORDER);
+ Member member = memberMapper.selectById(goodsorder.getMemberId());
+ if(Objects.nonNull(member)){
+ dealIntegralRequest.setParam1(member.getNickname());
+ }
integralService.dealShopIntegral(dealIntegralRequest);
}
}
@@ -1835,6 +1766,7 @@
dealIntegralRequest.setObjId(goodsorder.getId());
dealIntegralRequest.setOrderCode(goodsorder.getCode().toString());
dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.ORDER_DONE_AMOUNT);
+ dealIntegralRequest.setParam1(goodsorder.getCode().toString());
integralService.dealShopAmount(dealIntegralRequest);
}
}
@@ -1902,6 +1834,18 @@
goodsorder.setIsComment(Constants.ONE);
goodsorderMapper.updateById(goodsorder);
}
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void orderRefund(Goodsorder param){
+ Goodsorder goodsorder = goodsorderMapper.selectById(param.getId());
+ if(!goodsorder.getMemberId().equals(goodsorder.getMemberId())){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鎿嶄綔澶辫触锛氱敤鎴蜂俊鎭尮閰嶅け璐ワ紒");
+ }
+ if(!goodsorder.getStatus().equals(Constants.OrderStatus.DONE.getKey())){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鎿嶄綔澶辫触锛氳鍗曟湭瀹屾垚锛屾棤娉曢��娆撅紒");
+ }
+
+ }
@Override
@@ -1926,7 +1870,7 @@
));
myPageResponse.setAfterOrders(aftersaleMapper.selectCount(new QueryWrapper<Aftersale>()
.apply(" ID in ( select g.id from goodsorder g where g.MEMBER_ID = '"+memberId+"' ) ")
- .notIn("STATUS",Constants.AftersaleStatus.DONE,Constants.AftersaleStatus.SHOP_REFUSE,Constants.AftersaleStatus.CANCEL)
+ .notIn("STATUS",Constants.AftersaleStatus.DONE.getKey(),Constants.AftersaleStatus.SHOP_REFUSE.getKey(),Constants.AftersaleStatus.CANCEL.getKey())
));
@@ -2136,6 +2080,13 @@
.eq(Collect::getMemberId,member.getId())
)
);
+ homeInfoResponse.setUnRead(
+ noticeMapper.selectCount(new QueryWrapper<Notice>().lambda()
+ .eq(Notice::getIsdeleted,Constants.ZERO)
+ .eq(Notice::getMemberId,member.getId())
+ .eq(Notice::getStatus,Constants.ZERO)
+ )>=Constants.ZERO?Constants.ZERO:Constants.ONE
+ );
return homeInfoResponse;
}
--
Gitblit v1.9.3