rk
9 小时以前 f12c2e007d8cf951568d04ec9ad3348acac47849
小程序   接口开发
已添加1个文件
已修改14个文件
409 ■■■■ 文件已修改
server/dmmall_service/src/main/java/com/doumee/core/utils/Constants.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/core/wx/SendWxMessage.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/dao/business/model/Aftersale.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/dao/business/model/Notice.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/dao/web/request/CouponNoticeRequest.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/dao/web/request/WxPhoneRequest.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/service/business/AftersaleService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/service/business/LabelsService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/service/business/impl/AftersaleServiceImpl.java 184 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/service/business/impl/BannerServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/service/business/impl/LabelsServiceImpl.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/service/business/impl/NoticeServiceImpl.java 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_web/src/main/java/com/doumee/api/web/LabelsApi.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmmall_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -623,8 +623,7 @@
        DONE(3, "交易完成", "交易完成"),
        CLOSE(4, "已关闭", "已关闭"),
        PART_DONE(5, "部分发货", "部分发货"),
        REFUND(6, "订单退款", "订单退款"),
        ;
        // æˆå‘˜å˜é‡
        private String name;
@@ -881,7 +880,7 @@
     */
    public  enum IntegralObjType {
        REGISTER(0, "注册积分奖励", "注册成功,获得${param}积分",0,0),
        INVITENEWUSER(3, "邀请好友得积分", "推荐好友${param}成功,获得${param1}积分",0,0),
        INVITENEWUSER(3, "邀请好友得积分", "推荐好友${param1}成功,获得${param}积分",0,0),
        SYSTEM_RECHARGE(12,"积分发放","平台奖励,获得${param}积分",0,0),
        SYSTEM_DEDUCT(13,"积分扣除","平台扣减,消耗${param}积分",0,0),
        MEMBER_ORDER_CANCEL(14,"取消订单退回","交易退款退回,获得${param}积分",0,0),
@@ -890,17 +889,21 @@
        SHOP_YEAR_SETTLEMENT(18,"积分过期","积分过期,消耗${param}积分",0,0),
        ORDER_DONE_AMOUNT(16,"订单结算","${param}订单结算成功,获得¥${param1}元",0,1),//${param}订单编号,${param1}金额
        ORDER_DONE_AMOUNT(16,"订单结算","${param1}订单结算成功,获得¥${param}元",0,1),//${param}订单编号,${param1}金额
        WITHDRAW_APPLY(17,"余额提现","余额提现已提交,消耗¥${param}元",0,1),
        WITHDRAW_APPLY_BACK(19,"提现退回","余额提现失败,获得¥${param}元",0,1),
        ORDER_DONE_AMOUNT_BACK(20,"订单结算退回","${param}订单结算退回,消耗¥${param1}元",0,1),//${param}订单编号,${param1}金额
        ORDER_DONE_AMOUNT_BACK(20,"订单结算退回","${param1}订单结算退回,消耗¥${param}元",0,1),//${param}订单编号,${param1}金额
        SHOP_ORDER(21,"消费返积分","会员${param}交易成功,获得${param1}积分",0,0),//${param}昵称-手机号
        SHOP_ORDER(21,"消费返积分","会员${param1}交易成功,获得${param}积分",0,0),//${param}昵称-手机号
        SHOP_ORDER_CANCEL(22,"订单取消退回","订单取消退回,退回${param}积分",0,0),
        SHOP_SYSTEM_RECHARGE(23,"积分发放","平台奖励,获得${param}积分",0,0),
        SHOP_SYSTEM_DEDUCT(24,"积分扣除","平台扣减,消耗${param}积分",0,0),
        SHOP_ORDER_REFUND_CASH(25,"订单退款","订单退款,扣除结算金额${param}元",0,0),
        SHOP_ORDER_REFUND_INTEGRAL(26,"订单退款","订单退款,扣除订单返还${param}积分",0,0),
        MEMBER_ORDER_REFUND_RETURN(27,"订单退款","订单退款,扣除订单返还${param}积分",0,0),
        MEMBER_ORDER_REFUND(28,"订单退款","订单退款,返还订单消耗${param}积分",0,0),
        //----------------废弃-------start---------
        SIGNIN(1, "签到", "签到",0,0),
server/dmmall_service/src/main/java/com/doumee/core/wx/SendWxMessage.java
@@ -91,11 +91,7 @@
        }catch (WxErrorException wxErrorException){
        }
    }
    /**
server/dmmall_service/src/main/java/com/doumee/dao/business/model/Aftersale.java
@@ -79,6 +79,23 @@
    @ApiModelProperty(value = "退款金额", example = "1")
    @ExcelColumn(name="退款金额")
    private BigDecimal money;
    @ApiModelProperty(value = "扣除已返经销商积分值", example = "1")
    @ExcelColumn(name="扣除已返经销商积分值")
    private BigDecimal returnShopIntegral;
    @ApiModelProperty(value = "扣除经销商结算金额", example = "1")
    @ExcelColumn(name="扣除经销商结算金额")
    private BigDecimal returnShopSettlement;
    @ApiModelProperty(value = "扣除已返用户积分值", example = "1")
    @ExcelColumn(name="扣除已返用户积分值")
    private BigDecimal returnIntegral;
    @ApiModelProperty(value = "退款配置信息", example = "1")
    @ExcelColumn(name="退款配置信息")
    private String returnConfig;
    @ApiModelProperty(value = "实际退款金额", example = "1")
    @ExcelColumn(name="实际退款金额")
    private BigDecimal actMoney;
server/dmmall_service/src/main/java/com/doumee/dao/business/model/Notice.java
@@ -80,12 +80,12 @@
    @ExcelColumn(name="对象编码")
    private Integer objId;
    @ApiModelProperty(value = "对象类型 0咖豆订单 ã€å•†åŸŽã€å’–啡计划订单 1活动、探店、资讯 2活动探店资讯评论", example = "1")
    @ExcelColumn(name="对象类型 0咖豆订单 ã€å•†åŸŽã€å’–啡计划订单 1活动、探店、资讯 2活动探店资讯评论")
    @ApiModelProperty(value = "对象类型 0商城订单 1积分流水 2互动评价 3优惠券 4现金流水", example = "1")
    @ExcelColumn(name="对象类型 0商城订单 1积分流水 2互动评价 3优惠券 4现金流水")
    private Integer objType;
    @ApiModelProperty(value = "消息类型 0订单通知 1系统消息 2互动消息 3优惠券提醒 4官方客服  5活动推荐 6我的关注", example = "1")
    @ExcelColumn(name="消息类型 0订单通知 1系统消息 2互动消息 3优惠券提醒 4官方客服  5活动推荐 6我的关注")
    @ApiModelProperty(value = "消息类型 0消费者;1=经销商积分;2=经销商结算金额 ", example = "1")
    @ExcelColumn(name="消息类型 0消费者;1=经销商积分;2=经销商结算金额 ")
    private Integer type;
    @ApiModelProperty(value = "状态 0未读 1已读", example = "1")
server/dmmall_service/src/main/java/com/doumee/dao/web/request/CouponNoticeRequest.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,28 @@
package com.doumee.dao.web.request;
import com.doumee.dao.business.model.MemberCoupon;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import java.io.Serializable;
/**
 * Created by IntelliJ IDEA.
 *
 * @Author : Rk
 * @create 2023/3/23 9:50
 */
@Data
@ApiModel("发送优惠券通知请求类")
public class CouponNoticeRequest{
    @ApiModelProperty(value = "用户优惠券信息")
    private MemberCoupon memberCoupon;
    @ApiModelProperty(value = "优惠券数量")
    private Integer num;
}
server/dmmall_service/src/main/java/com/doumee/dao/web/request/WxPhoneRequest.java
@@ -18,22 +18,27 @@
@ApiModel("微信授权手机号请求类")
public class WxPhoneRequest implements Serializable {
    @NotEmpty(message = "encryptedData ä¸èƒ½ä¸ºç©º")
    @ApiModelProperty(value = "encryptedData")
    private String encryptedData;
    @NotEmpty(message = "iv ä¸èƒ½ä¸ºç©º")
    @ApiModelProperty(value = "iv")
    private String iv;
    @NotEmpty(message = "sessionKey ä¸èƒ½ä¸ºç©º")
    @ApiModelProperty(value = "sessionKey")
    private String sessionKey;
//    @NotEmpty(message = "encryptedData ä¸èƒ½ä¸ºç©º")
//    @ApiModelProperty(value = "encryptedData")
//    private String encryptedData;
//
//    @NotEmpty(message = "iv ä¸èƒ½ä¸ºç©º")
//    @ApiModelProperty(value = "iv")
//    private String iv;
//
//    @NotEmpty(message = "sessionKey ä¸èƒ½ä¸ºç©º")
//    @ApiModelProperty(value = "sessionKey")
//    private String sessionKey;
    @NotEmpty(message = "openid ä¸èƒ½ä¸ºç©º")
    @ApiModelProperty(value = "openid")
    private String openid;
    @NotEmpty(message = "code ä¸èƒ½ä¸ºç©º")
    @ApiModelProperty(value = "code")
    private String code;
    @ApiModelProperty(value = "邀请码")
    private String recId;
server/dmmall_service/src/main/java/com/doumee/service/business/AftersaleService.java
@@ -4,6 +4,7 @@
import com.doumee.core.model.PageWrap;
import com.doumee.dao.admin.response.AftersaleListResponse;
import com.doumee.dao.business.model.Aftersale;
import com.doumee.dao.web.request.AfterSaleApplyRequest;
import com.doumee.dao.web.request.goods.AftersaleCancelRequest;
import com.doumee.dao.web.request.goods.AftersaleCreateRequest;
import com.doumee.dao.web.request.goods.AftersalePostRequest;
@@ -114,4 +115,6 @@
    void memberPost(AftersalePostRequest aftersale);
    void autoDone();
    void afterSaleApply(AfterSaleApplyRequest afterSaleApplyRequest, Integer userId);
}
server/dmmall_service/src/main/java/com/doumee/service/business/LabelsService.java
@@ -135,6 +135,6 @@
     */
    List<LabelsResponse> getGoodsLabels(Integer parentId);
    List<LabelsResponse> getGoodsLabelsByType(Integer type);
    List<LabelsResponse> getGoodsLabelsByType(Integer type,Integer parentId);
}
server/dmmall_service/src/main/java/com/doumee/service/business/impl/AftersaleServiceImpl.java
@@ -12,13 +12,11 @@
import com.doumee.core.utils.Utils;
import com.doumee.core.wx.WxMiniUtilService;
import com.doumee.dao.admin.response.AftersaleListResponse;
import com.doumee.dao.business.AftersaleMapper;
import com.doumee.dao.business.FundMapper;
import com.doumee.dao.business.GoodsorderDetailMapper;
import com.doumee.dao.business.GoodsorderMapper;
import com.doumee.dao.business.*;
import com.doumee.dao.business.join.AftersaleJoinMapper;
import com.doumee.dao.business.model.*;
import com.doumee.dao.web.dto.MultiFileDTO;
import com.doumee.dao.web.request.AfterSaleApplyRequest;
import com.doumee.dao.web.request.DealIntegralRequest;
import com.doumee.dao.web.request.goods.AftersaleCancelRequest;
import com.doumee.dao.web.request.goods.AftersaleCreateRequest;
@@ -43,10 +41,7 @@
import org.springframework.util.CollectionUtils;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
 * å•†å“å”®åŽä¿¡æ¯è¡¨Service实现
@@ -64,6 +59,10 @@
    @Autowired
    private GoodsorderMapper goodsorderMapper;
    @Autowired
    private ShopMapper shopMapper;
    @Autowired
    private MemberMapper memberMapper;
    @Autowired
    private GoodsorderDetailMapper goodsorderDetailMapper;
    @Autowired
    private AftersaleJoinMapper aftersaleJoinMapper;
@@ -73,6 +72,9 @@
    @Autowired
    @Lazy
    private IntegralService integralService;
    @Autowired
    private MemberCouponJoinMapper memberCouponJoinMapper;
    @Autowired
    private FundMapper fundMapper;
@@ -1004,4 +1006,170 @@
    }
    @Override
    @Transactional(rollbackFor = {BusinessException.class,Exception.class})
    public void afterSaleApply(AfterSaleApplyRequest afterSaleApplyRequest, Integer userId){
        if(Objects.isNull(afterSaleApplyRequest)
            || Objects.isNull(afterSaleApplyRequest.getOrderId())
                || Objects.isNull(afterSaleApplyRequest.getReturnUseIntegralStatus())
                || Objects.isNull(afterSaleApplyRequest.getReturnUseCouponStatus())
                || Objects.isNull(afterSaleApplyRequest.getReturnShopSettlementStatus())
                || Objects.isNull(afterSaleApplyRequest.getReturnShopIntegralStatus())
                || Objects.isNull(afterSaleApplyRequest.getReturnIntegralStatus())
                || Objects.isNull(afterSaleApplyRequest.getMoney())
        ){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        Goodsorder goodsorder = goodsorderMapper.selectById(afterSaleApplyRequest.getOrderId());
        if(Objects.isNull(goodsorder)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY);
        }
        if(!(Constants.equalsInteger(goodsorder.getStatus(),Constants.OrderStatus.WAIT_RECEIVE.getKey())
            || Constants.equalsInteger(goodsorder.getStatus(),Constants.OrderStatus.DONE.getKey()))){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"订单状态已流转,无法进行该操作!");
        }
        Aftersale aftersale = new Aftersale();
        aftersale.setCreateDate(new Date());
        aftersale.setIsdeleted(Constants.ZERO);
        aftersale.setOrderId(goodsorder.getId());
        aftersale.setType(Constants.ZERO);
        aftersale.setContent(afterSaleApplyRequest.getRemark());
        aftersale.setStatus(Constants.AftersaleStatus.DONE.getKey());
        aftersale.setInfo(afterSaleApplyRequest.getRemark());
        aftersale.setMoney(afterSaleApplyRequest.getMoney());
        aftersale.setCoupon(goodsorder.getCouponPrice());
        aftersale.setReturnShopIntegral(BigDecimal.ZERO);
        aftersale.setReturnIntegral(BigDecimal.ZERO);
        aftersale.setReturnShopSettlement(BigDecimal.ZERO);
        aftersale.setCode(getNextInCode());
        //订单退回 è¿”回给经销商的积分
        if(Objects.nonNull(goodsorder.getDistributionShopId())&&goodsorder.getReturnCustomerIntegral().compareTo(BigDecimal.ZERO)>Constants.ZERO){
            Shop shop = shopMapper.selectById(goodsorder.getDistributionShopId());
            //经销商存在剩余积分
            if(Objects.nonNull(shop)&&shop.getIntegral().compareTo(BigDecimal.ZERO)>Constants.ZERO){
                //开启了扣除返还经销商积分
                if(Constants.equalsInteger(afterSaleApplyRequest.getReturnShopIntegralStatus(),Constants.ONE)){
                    //记录扣除经销商积分值
                    aftersale.setReturnShopIntegral(shop.getIntegral().compareTo(goodsorder.getReturnCustomerIntegral())>Constants.ZERO
                            ?goodsorder.getReturnCustomerIntegral():shop.getIntegral());
                    DealIntegralRequest dealIntegralRequest = new DealIntegralRequest();
                    dealIntegralRequest.setIntegralNum(aftersale.getReturnShopIntegral());
                    dealIntegralRequest.setDealType(Constants.ONE);
                    dealIntegralRequest.setMemberId(goodsorder.getDistributionShopId());
                    dealIntegralRequest.setObjId(goodsorder.getId());
                    dealIntegralRequest.setOrderCode(goodsorder.getCode().toString());
                    dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.SHOP_ORDER_REFUND_INTEGRAL);
                    integralService.dealShopIntegral(dealIntegralRequest);
                }
            }
        }
        //订单退回 ç»é”€å•†ç»“算余额
        if(Objects.nonNull(goodsorder.getDistributionShopId())&&goodsorder.getShopSettlement().compareTo(BigDecimal.ZERO)>Constants.ZERO){
            Shop shop = shopMapper.selectById(goodsorder.getDistributionShopId());
            //经销商存在剩余积分
            if(Objects.nonNull(shop)&&shop.getAmount().compareTo(BigDecimal.ZERO)>Constants.ZERO){
                //开启了扣除返还经销商积分
                if(Constants.equalsInteger(afterSaleApplyRequest.getReturnShopSettlementStatus(),Constants.ONE)){
                    //记录扣除经销商积分值
                    aftersale.setReturnShopSettlement(shop.getAmount().compareTo(goodsorder.getShopSettlement())>Constants.ZERO
                            ?goodsorder.getShopSettlement():shop.getAmount());
                    DealIntegralRequest dealIntegralRequest = new DealIntegralRequest();
                    dealIntegralRequest.setIntegralNum(aftersale.getReturnShopIntegral());
                    dealIntegralRequest.setDealType(Constants.ONE);
                    dealIntegralRequest.setMemberId(goodsorder.getDistributionShopId());
                    dealIntegralRequest.setObjId(goodsorder.getId());
                    dealIntegralRequest.setOrderCode(goodsorder.getCode().toString());
                    dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.SHOP_ORDER_REFUND_CASH);
                    integralService.dealShopAmount(dealIntegralRequest);
                }
            }
        }
        //订单退回 è¿”还给客户的积分
        if(Objects.nonNull(goodsorder.getDistributionShopId())&&goodsorder.getReturnMemberIntegral().compareTo(BigDecimal.ZERO)>Constants.ZERO){
            Member member = memberMapper.selectById(goodsorder.getMemberId());
            //客户存在剩余积分
            if(Objects.nonNull(member)&&member.getIntegral().compareTo(BigDecimal.ZERO)>Constants.ZERO){
                //开启了扣除返还客户积分
                if(Constants.equalsInteger(afterSaleApplyRequest.getReturnIntegralStatus(),Constants.ONE)){
                    //记录扣除经销商积分值
                    aftersale.setReturnIntegral(member.getIntegral().compareTo(goodsorder.getReturnCustomerIntegral())>Constants.ZERO
                            ?goodsorder.getReturnCustomerIntegral():member.getIntegral());
                    DealIntegralRequest dealIntegralRequest = new DealIntegralRequest();
                    dealIntegralRequest.setIntegralNum(aftersale.getReturnShopIntegral());
                    dealIntegralRequest.setDealType(Constants.ONE);
                    dealIntegralRequest.setMemberId(member.getId());
                    dealIntegralRequest.setObjId(goodsorder.getId());
                    dealIntegralRequest.setOrderCode(goodsorder.getCode().toString());
                    dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.MEMBER_ORDER_REFUND_RETURN);
                    integralService.dealIntegral(dealIntegralRequest);
                }
            }
        }
        //订单退款 è¿”还客户使用的积分
        if(Constants.equalsInteger(afterSaleApplyRequest.getReturnIntegralStatus(),Constants.ONE)
            && goodsorder.getUseIntegral().compareTo(BigDecimal.ZERO)>Constants.ZERO){
            DealIntegralRequest dealIntegralRequest = new DealIntegralRequest();
            dealIntegralRequest.setIntegralNum(aftersale.getReturnShopIntegral());
            dealIntegralRequest.setDealType(Constants.ZERO);
            dealIntegralRequest.setMemberId(goodsorder.getMemberId());
            dealIntegralRequest.setObjId(goodsorder.getId());
            dealIntegralRequest.setOrderCode(goodsorder.getCode().toString());
            dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.MEMBER_ORDER_REFUND);
            integralService.dealIntegral(dealIntegralRequest);
        }
        //订单退款 é€€å›žå®¢æˆ·ä½¿ç”¨çš„优惠券
        if(Constants.equalsInteger(afterSaleApplyRequest.getReturnUseCouponStatus(),Constants.ONE)
            && Objects.nonNull(goodsorder.getCouponId())){
            memberCouponJoinMapper.update(new UpdateWrapper<MemberCoupon>().lambda()
                    .set(MemberCoupon::getStatus, Constants.ZERO)
                    .eq(MemberCoupon::getId, goodsorder.getCouponId())
            );
        }
        if(afterSaleApplyRequest.getMoney().compareTo(BigDecimal.ZERO)>Constants.ZERO
             && afterSaleApplyRequest.getMoney().compareTo(goodsorder.getPrice())<=Constants.ZERO){
            //订单退款
            String refundCode = WxMiniUtilService.wxRefund(goodsorder.getCode().toString(), goodsorder.getPrice(), afterSaleApplyRequest.getMoney());
            Fund fund = new Fund();
            fund.setOrderCode(refundCode);
            fund.setCreator(userId);
            fund.setCreateDate(new Date());
            fund.setIsdeleted(Constants.ZERO);
            fund.setRemark(userId.toString());
            fund.setMemberId(goodsorder.getCreator());
            fund.setTitle("订单退款");
            fund.setContent(afterSaleApplyRequest.getRemark());
            fund.setObjId(goodsorder.getId());
            fund.setObjType(Constants.ONE);
            fund.setType(Constants.ZERO);
            fund.setNum(goodsorder.getPrice());
            fundMapper.insert(fund);
            aftersale.setDrawbackNo(refundCode);
            aftersale.setDrawbackDate(new Date());
            aftersale.setDrawbackInfo(afterSaleApplyRequest.getRemark());
            aftersale.setDrawbackNo(refundCode);
        }
        aftersaleMapper.insert(aftersale);
        goodsorderMapper.update(null,new UpdateWrapper<Goodsorder>().lambda()
                .set(Goodsorder::getStatus, Constants.OrderStatus.REFUND.getKey())
                .eq(Goodsorder::getId, goodsorder.getId())
        );
    }
}
server/dmmall_service/src/main/java/com/doumee/service/business/impl/BannerServiceImpl.java
@@ -192,9 +192,11 @@
        QueryWrapper<Banner> wrapper = new QueryWrapper<>(banner);
        wrapper.lambda().orderByDesc(Banner::getSortnum);
        List<Banner> banners = bannerMapper.selectList(wrapper);
        String path = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode() + systemDictDataBiz.queryByCode(Constants.OSS, Constants.BANNER_FILE).getCode();
        List<BannerDTO> collect = banners.stream().map(s -> {
            BannerDTO dto = new BannerDTO();
            BeanUtils.copyProperties(s, dto);
            dto.setImgurl(path + s.getImgurl());
            if (Constants.equalsInteger(dto.getType(),Constants.ZERO)){
                dto.setContent(null);
            }
server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
@@ -1367,8 +1367,7 @@
            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(Constants.formatBigdecimal(goodsorder.getPrice()).compareTo(BigDecimal.ZERO)>Constants.ZERO
@@ -1389,7 +1388,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());
@@ -1433,10 +1434,6 @@
            }
        }
    }
    public BigDecimal getDeductAmount(List<PayDetailRequest> requestList){
        List<MemberCoupon> memberCouponList = new ArrayList<>();
@@ -1950,6 +1947,7 @@
        }
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void orderComment(OrderCommentRequest orderCommentRequest){
server/dmmall_service/src/main/java/com/doumee/service/business/impl/LabelsServiceImpl.java
@@ -470,16 +470,22 @@
    @Override
    public List<LabelsResponse> getGoodsLabelsByType(Integer type) {
    public List<LabelsResponse> getGoodsLabelsByType(Integer type,Integer parentId) {
        LambdaQueryWrapper<Labels> wrapper = new LambdaQueryWrapper<>();
        wrapper.eq(Labels::getStatus,Constants.ZERO);
        wrapper.eq(Labels::getStatus,Constants.ONE);
        wrapper.eq(Labels::getIsdeleted,Constants.ZERO);
        wrapper.eq(Objects.nonNull(parentId),Labels::getParentId,parentId);
        wrapper.eq(Labels::getType,type);
        wrapper.orderByAsc(Labels::getSortnum,Labels::getCreateDate);
        List<Labels> labels = labelsMapper.selectList(wrapper);
        String path = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()
                + systemDictDataBiz.queryByCode(Constants.OSS,Constants.LABELS_IMG).getCode();
        List<LabelsResponse> collect = labels.stream().map(s -> {
            LabelsResponse labelsResponse = new LabelsResponse();
            BeanUtils.copyProperties(s, labelsResponse);
            if(StringUtils.isNotBlank(s.getImgurl())){
                labelsResponse.setImgUrl(path + s.getImgurl());
            }
            return labelsResponse;
        }).collect(Collectors.toList());
        return collect;
server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -310,15 +310,14 @@
            Member member = memberMapper.selectOne(new QueryWrapper<Member>().lambda().eq(Member::getOpenId, openId)
                            .eq(Member::getIsdeleted,Constants.ZERO)
                    .last(" limit 1"));
            //创建token
            JwtPayLoad payLoad = new JwtPayLoad(Constants.MEMBER_PREFIX+member.getId());
            String token = JwtTokenUtil.generateToken(payLoad);
            AccountResponse accountResponse = new AccountResponse();
            accountResponse.setSessionKey(session.getSessionKey());
            if(Objects.nonNull(member)){
                memberMapper.updateById(member);
                member.setImgFullUrl(systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()+
                        systemDictDataBiz.queryByCode(Constants.OSS,Constants.MEMBER_FILE).getCode()+member.getImgurl());
                //创建token
                JwtPayLoad payLoad = new JwtPayLoad(Constants.MEMBER_PREFIX+member.getId());
                String token = JwtTokenUtil.generateToken(payLoad);
                accountResponse.setToken(token);
                accountResponse.setMember(member);
            }else{
@@ -345,10 +344,8 @@
    @Override
    public AccountResponse wxPhone(WxPhoneRequest wxPhoneRequest){
        try {
            WxMaPhoneNumberInfo userPhoneInfo = WxMiniConfig.wxMaService.getUserService().getPhoneNoInfo(
                    wxPhoneRequest.getSessionKey(), wxPhoneRequest.getEncryptedData(), wxPhoneRequest.getIv());
            //获取手机号
            String phone= userPhoneInfo.getPurePhoneNumber();
            WxMaPhoneNumberInfo userPhoneInfo = WxMiniConfig.wxMaService.getUserService().getPhoneNumber(wxPhoneRequest.getCode());
            String phone = userPhoneInfo.getPhoneNumber();
            if(Objects.isNull(phone)){
                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"未获取到手机号");
            }
server/dmmall_service/src/main/java/com/doumee/service/business/impl/NoticeServiceImpl.java
@@ -12,10 +12,12 @@
import com.doumee.dao.business.join.MemberJoinMapper;
import com.doumee.dao.business.join.NoticeJoinMapper;
import com.doumee.dao.business.model.Member;
import com.doumee.dao.business.model.MemberCoupon;
import com.doumee.dao.business.model.Notice;
import com.doumee.dao.business.model.Shop;
import com.doumee.dao.web.dto.NoticeCardDTO;
import com.doumee.dao.system.model.SystemUser;
import com.doumee.dao.web.request.CouponNoticeRequest;
import com.doumee.service.business.NoticeService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -242,4 +244,77 @@
        return pageData;
    }
    /**
     *
     * @param type 0消费者;1=经销商积分;2=经销商结算金额
     * @param objType 0商城订单 1积分流水 2互动评价 3优惠券
     *
     */
    public void saveNoticeInfo(Integer type,Integer objType,Integer memberId
        ,String title,String content,Integer objId){
        Notice notice = new Notice();
        notice.setCreateDate(new Date());
        notice.setIsdeleted(Constants.ZERO);
        notice.setTitle(title);
        notice.setContent(content);
        notice.setType(type);
        notice.setObjType(objType);
        notice.setObjId(objId);
        notice.setMemberId(memberId);
        noticeMapper.insert(notice);
    }
    /**
     * ç§¯åˆ†å˜åŠ¨æ¶ˆæ¯ç±»åž‹
     * @param integralObjType  ç§¯åˆ†å˜åŠ¨ç±»åž‹
     * @param memberId ç”¨æˆ·ä¸»é”®/商户主键
     * @param integral å˜åŠ¨ç§¯åˆ†/现金值
     * @param objId å…³è”对象主键 - ç§¯åˆ†æµæ°´å˜åŠ¨è®°å½•ä¸»é”®
     * @param param1 param2
     */
    public void saveMemberIntegralNotice(Constants.IntegralObjType integralObjType,Integer type, Integer memberId, Integer integral, Integer objId,String param1){
        String title = integralObjType.getName();
        String info = integralObjType.getNoteinfo();
        info = info.replace("${param}",integral.toString()).replace("${param1}",param1);
        this.saveNoticeInfo(
                type,
                Constants.ONE,
                memberId,
                title,
                info,
                objId
        );
    }
    public void couponNotice(Integer memberId,List<CouponNoticeRequest> couponList){
        String info = "恭喜您获得【优惠规则】【优惠券类型】";
        //恭喜您获得 æ»¡50减10抵扣券
        for (CouponNoticeRequest c:couponList) {
            MemberCoupon mc = c.getMemberCoupon();
            Constants.equalsInteger(mc.getCouponType(),Constants.ZERO)?
        }
//        this.saveNoticeInfo(
//                type,
//                Constants.ONE,
//                memberId,
//                "获得系统发放的优惠券",
//                info,
//                objId
//        );
//
    }
}
server/dmmall_web/src/main/java/com/doumee/api/web/LabelsApi.java
@@ -12,6 +12,7 @@
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@@ -21,7 +22,7 @@
 */
@Api(tags = "标签信息表业务")
@Trace(exclude = true)
//@RestController
@RestController
@RequestMapping("/web/labels")
@Slf4j
public class LabelsApi  extends ApiController{
@@ -48,11 +49,11 @@
    @ApiOperation(value = "获取分类信息", notes = "小程序端")
    @GetMapping("/getGoodsLabelsByType")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
            @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "type", value = "类型0商品分类 1商品品牌 2商家标签 3快递 4退货选项 5换货选项 6退款选项 7取消订单选项 8咖啡百科分类 9咨 è¯¢åˆ†ç±» 10活动赛事分类 11达人探店分类", required = true),
            @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "parentId", value = "父级主键", required = false),
    })
    public ApiResponse<List<LabelsResponse>> getGoodsLabelsByType(Integer type){
        return ApiResponse.success(labelsService.getGoodsLabelsByType(type));
    public ApiResponse<List<LabelsResponse>> getGoodsLabelsByType(@RequestParam Integer type,Integer parentId){
        return ApiResponse.success(labelsService.getGoodsLabelsByType(type,parentId));
    }