xiaoyong931011
2022-08-12 a0186cf541d958a8b6d6edcaa13b9450630709ff
20220810
5 files modified
64 ■■■■ changed files
src/main/java/cc/mrbird/febs/mall/controller/AdminMallOrderController.java 6 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java 2 ●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/pay/model/OrderStateMsgVo.java 2 ●●● patch | view | raw | blame | history
src/main/resources/mapper/modules/MallOrderInfoMapper.xml 6 ●●●●● patch | view | raw | blame | history
src/test/java/cc/mrbird/febs/ProfitTest.java 48 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/controller/AdminMallOrderController.java
@@ -321,12 +321,12 @@
            OrderStateDto orderStateDto = new OrderStateDto();
            orderStateDto.setOrderNo(mallOrderInfo.getOrderNo());
            String productNames = getProductNames(mallOrderInfo.getMemberId(), mallOrderInfo.getId());
            orderStateDto.setGoodsName(StrUtil.isEmpty(productNames)?"商品":productNames);
            orderStateDto.setOrderState("已送达自提点");
            orderStateDto.setGoodsName(StrUtil.sub(StrUtil.isEmpty(productNames)?"商品":productNames,0,10)+"...");
            orderStateDto.setOrderState("已送达");
            orderStateDto.setTakeCode(mallOrderInfo.getTakeCode());
            String takeUniqueCode = mallOrderInfo.getTakeUniqueCode();
            MallTeamLeader mallTeamLeader = mallTeamLeaderMapper.selectLeaderByUniqueCode(takeUniqueCode);
            orderStateDto.setAddressArea(mallTeamLeader.getAddressArea());
            orderStateDto.setAddressArea(StrUtil.sub(mallTeamLeader.getAddressArea(),0,10)+"...");
            orderStateDto.setOpenId(mallMemberMapper.selectById(mallOrderInfo.getMemberId()).getOpenId());
            DataDictionaryCustom dataDictionaryCustom = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.WX_TEMPLATE_ID_ONE.getType(), DataDictionaryEnum.WX_TEMPLATE_ID_ONE.getCode());
            orderStateDto.setTemplateId(dataDictionaryCustom.getValue());
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java
@@ -154,7 +154,7 @@
            orderStateDto.setOrderNo(mallOrderInfo.getOrderNo());
            String productNames = getProductNames(mallOrderInfo.getMemberId(), mallOrderInfo.getId());
            orderStateDto.setGoodsName(StrUtil.isEmpty(productNames)?"商品":productNames);
            orderStateDto.setOrderState("已送达自提点");
            orderStateDto.setOrderState("已送达");
            orderStateDto.setTakeCode(mallOrderInfo.getTakeCode());
            String takeUniqueCode = mallOrderInfo.getTakeUniqueCode();
            MallTeamLeader mallTeamLeader = mallTeamLeaderMapper.selectLeaderByUniqueCode(takeUniqueCode);
src/main/java/cc/mrbird/febs/pay/model/OrderStateMsgVo.java
@@ -14,7 +14,7 @@
    private String template_id;//订阅消息模版id
    private String miniprogram_state="developer";//跳转小程序类型:developer为开发版;trial为体验版;formal为正式版;默认为正式版
    private String lang="zh_CN";//进入小程序查看”的语言类型,支持zh_CN(简体中文)、en_US(英文)、zh_HK(繁体中文)、zh_TW(繁体中文),默认为zh_CN
    private String page = "pages/index/index";//默认跳到小程序首页
    private String page;//默认跳到小程序首页
    private Map<String, WxTemplateData> data;//推送文字
}
src/main/resources/mapper/modules/MallOrderInfoMapper.xml
@@ -54,8 +54,10 @@
        order by a.created_time desc
    </select>
    <select id="selectOrderByMemberIdAndId" resultType="cc.mrbird.febs.mall.entity.MallOrderInfo">
        select * from mall_order_info a
    <select id="selectOrderByMemberIdAndId" resultMap="OrderInfoMap">
        select
            a.*,
            b.goods_name from mall_order_info a
                          inner join mall_order_item b on a.id=b.order_id where a.member_id=#{memberId} and a.id=#{id}
    </select>
src/test/java/cc/mrbird/febs/ProfitTest.java
@@ -1,6 +1,7 @@
package cc.mrbird.febs;
import cc.mrbird.febs.mall.dto.ApiLeaderOrderConfirmDto;
import cc.mrbird.febs.mall.entity.MallOrderInfo;
import cc.mrbird.febs.mall.entity.MallOrderItem;
import cc.mrbird.febs.mall.mapper.MallOrderInfoMapper;
import cc.mrbird.febs.mall.mapper.MallOrderItemMapper;
@@ -11,6 +12,7 @@
import cc.mrbird.febs.rabbit.consumer.AgentConsumer;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import org.apache.commons.collections.CollectionUtils;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
@@ -126,8 +128,48 @@
    @Test
    public void confirm(){
        ApiLeaderOrderConfirmDto apiLeaderOrderConfirmDto = new ApiLeaderOrderConfirmDto();
        apiLeaderOrderConfirmDto.setIds("90");
        iApiMallTeamLeaderService.leaderOrderConfirm(apiLeaderOrderConfirmDto);
//        ApiLeaderOrderConfirmDto apiLeaderOrderConfirmDto = new ApiLeaderOrderConfirmDto();
//        apiLeaderOrderConfirmDto.setIds("90");
//        iApiMallTeamLeaderService.leaderOrderConfirm(apiLeaderOrderConfirmDto);
        String productNames = getProductNames(38L, 104L);
        System.out.println(productNames);
    }
    /**
     * 根据用户ID和订单ID获取所购买商品名称
     * @return 所含商品名称(多个以","隔开)
     */
    public String getProductNames(Long memberId, Long orderId) {
        MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectOrderByMemberIdAndId(memberId, orderId);
        List<MallOrderItem> details = mallOrderInfo.getItems();
        if (CollectionUtils.isEmpty(details)) {
            return "";
        }
        StringBuffer productNameBuffer = new StringBuffer();
        Integer maxLength = 30;
        for (int i = 0; i< details.size(); i++) {
            MallOrderItem mallOrderItem = details.get(i);
            String goodsName = mallOrderItem.getGoodsName();
            if (goodsName == null) {
                continue;
            }
            if (i == 0 && goodsName.length() > maxLength) {
                productNameBuffer.append(goodsName.substring(0, maxLength) + "...");
                break;
            }
            if ((productNameBuffer.length() + goodsName.length()) > maxLength) {
                productNameBuffer.append("等");
                break;
            }
            productNameBuffer.append(goodsName + ",");
        }
        String productNames = productNameBuffer.toString();
        if (productNames.endsWith(",")) {
            productNames = productNames.substring(0, productNames.length() - 1);
        }
        if (productNames.endsWith(",等")) {
            productNames = productNames.substring(0, productNames.length() - 2) + "等";
        }
        return productNames;
    }
}