From 5a8bb0c1dde052c6c95d545f53ae27d42338529d Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Thu, 22 Sep 2022 17:57:35 +0800 Subject: [PATCH] fix --- src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java | 2 src/main/resources/templates/febs/views/modules/leader/leaderFenceAdd.html | 2 src/main/resources/mapper/modules/MallTeamLeaderMapper.xml | 84 ++++++++++++++++++++++++--- src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java | 22 ++++++- src/main/java/cc/mrbird/febs/mall/vo/AdminMallOrderInfoVo.java | 2 src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java | 13 ++++ src/main/resources/mapper/modules/MallOrderInfoMapper.xml | 24 ++------ src/main/resources/templates/febs/views/modules/order/orderList.html | 1 src/main/java/cc/mrbird/febs/mall/mapper/MallTeamLeaderMapper.java | 2 9 files changed, 119 insertions(+), 33 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java index 3c81b6c..3e789f2 100644 --- a/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java +++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java @@ -68,4 +68,6 @@ List<Map<String, Integer>> selectMemberOrderStatusCntByUniquecode(@Param("uniqueCode")String uniqueCode); List<MallOrderInfo> selectOrderByStatusAndPayTime(@Param("status")Integer i, @Param("paytime")DateTime offsetDay); + + IPage<MallOrderInfo> selectNewApiOrderListInPage(IPage<MallOrderInfo> page, @Param("record") OrderListDto orderListDto); } diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallTeamLeaderMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallTeamLeaderMapper.java index da21d7c..92902b4 100644 --- a/src/main/java/cc/mrbird/febs/mall/mapper/MallTeamLeaderMapper.java +++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallTeamLeaderMapper.java @@ -36,4 +36,6 @@ MallTeamLeader selectByFenceIdAndFenceNameAndLonAndLat(@Param("longitude")Double longitude, @Param("latitude")Double latitude,@Param("fenceId")String gfid, @Param("fenceName")String gfname); List<MallTeamLeader> getAllMallTeamLeaderList(); + + IPage<MallOrderInfo> selectNewApiLeaderOrderListInPage(IPage<MallOrderInfo> page, @Param("record")ApiLeaderOrderListDto apiLeaderOrderListDto); } diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java index 0a5bcbf..6713e9a 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java @@ -67,6 +67,19 @@ public IPage<AdminMallOrderInfoVo> getOrderListInPage(MallOrderInfoDto mallOrderInfo, QueryRequest request) { Page<AdminMallOrderInfoVo> page = new Page<>(request.getPageNum(), request.getPageSize()); IPage<AdminMallOrderInfoVo> adminMallOrderInfoVos = this.baseMapper.selectOrderListInPage(page, mallOrderInfo); + if(CollUtil.isNotEmpty(adminMallOrderInfoVos.getRecords())){ + for(AdminMallOrderInfoVo adminMallOrderInfoVo : adminMallOrderInfoVos.getRecords()){ + Long orderId = adminMallOrderInfoVo.getId(); + List<MallOrderItem> mallOrderItemList = mallOrderItemMapper.selectListByOrderId(orderId); + if(CollUtil.isNotEmpty(mallOrderItemList)){ + StringBuffer stringBuffer = new StringBuffer(); + for(MallOrderItem mallOrderItem : mallOrderItemList){ + stringBuffer.append(mallOrderItem.getGoodsName()).append("*").append(mallOrderItem.getCnt()).append(";"); + } + adminMallOrderInfoVo.setGoodsName(stringBuffer.toString()); + } + } + } return adminMallOrderInfoVos; } diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java index 509288d..738bc5c 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java @@ -167,8 +167,10 @@ apiLeaderInfoVo.setDetailAddress(mallTeamLeader.getDetailAddress()); apiLeaderInfoVo.setAddressArea(mallTeamLeader.getAddressArea()); MallElectronicFence mallElectronicFence = mallElectronicFenceMapper.selectByTeamLeaderCode(mallTeamLeader.getUniqueCode()); - String longLatStr = mallElectronicFence.getLonglatiarr(); - apiLeaderInfoVo.setLonglatiarr(longLatStr); + if(ObjectUtil.isNotEmpty(mallElectronicFence)){ + String longLatStr = mallElectronicFence.getLonglatiarr(); + apiLeaderInfoVo.setLonglatiarr(longLatStr); + } return new FebsResponse().success().data(apiLeaderInfoVo); } @@ -177,7 +179,17 @@ MallMember member = LoginUserUtil.getLoginUser(); IPage<MallOrderInfo> page = new Page<>(apiLeaderOrderListDto.getPageNum(), apiLeaderOrderListDto.getPageSize()); apiLeaderOrderListDto.setMemberId(member.getId()); - IPage<MallOrderInfo> mallOrderInfos = this.baseMapper.selectApiLeaderOrderListInPage(page, apiLeaderOrderListDto); +// IPage<MallOrderInfo> mallOrderInfos = this.baseMapper.selectApiLeaderOrderListInPage(page, apiLeaderOrderListDto); + IPage<MallOrderInfo> mallOrderInfos = this.baseMapper.selectNewApiLeaderOrderListInPage(page, apiLeaderOrderListDto); + if(CollUtil.isNotEmpty(mallOrderInfos.getRecords())){ + for(MallOrderInfo mallOrderInfo : mallOrderInfos.getRecords()){ + Long orderInfoId = mallOrderInfo.getId(); + List<MallOrderItem> mallOrderItemList = mallOrderItemMapper.selectListByOrderId(orderInfoId); + if(CollUtil.isNotEmpty(mallOrderItemList)){ + mallOrderInfo.setItems(mallOrderItemList); + } + } + } return MallOrderInfoConversion.INSTANCE.entitysToVos(mallOrderInfos.getRecords()); } @@ -293,7 +305,9 @@ apiLeaderInfoVo.setDetailAddress(mallTeamLeader.getDetailAddress()); apiLeaderInfoVo.setAddressArea(mallTeamLeader.getAddressArea()); MallElectronicFence mallElectronicFence = mallElectronicFenceMapper.selectByTeamLeaderCode(mallTeamLeader.getUniqueCode()); - apiLeaderInfoVo.setLonglatiarr(mallElectronicFence.getLonglatiarr()); + if(ObjectUtil.isNotEmpty(mallElectronicFence)){ + apiLeaderInfoVo.setLonglatiarr(mallElectronicFence.getLonglatiarr()); + } apiLeaderInfoVo.setLongitude(mallTeamLeader.getLongitude()); apiLeaderInfoVo.setLatitude(mallTeamLeader.getLatitude()); } diff --git a/src/main/java/cc/mrbird/febs/mall/vo/AdminMallOrderInfoVo.java b/src/main/java/cc/mrbird/febs/mall/vo/AdminMallOrderInfoVo.java index ba1039c..78ef1f8 100644 --- a/src/main/java/cc/mrbird/febs/mall/vo/AdminMallOrderInfoVo.java +++ b/src/main/java/cc/mrbird/febs/mall/vo/AdminMallOrderInfoVo.java @@ -81,4 +81,6 @@ private Integer isHome; //团长姓名 private String leaderName; + //商品名称 + private String goodsName; } diff --git a/src/main/resources/mapper/modules/MallOrderInfoMapper.xml b/src/main/resources/mapper/modules/MallOrderInfoMapper.xml index 22dd8d9..1c02bb4 100644 --- a/src/main/resources/mapper/modules/MallOrderInfoMapper.xml +++ b/src/main/resources/mapper/modules/MallOrderInfoMapper.xml @@ -170,18 +170,6 @@ <select id="selectApiOrderListInPage" resultType="cc.mrbird.febs.mall.entity.MallOrderInfo"> select a.*, --- b.id item_id, --- b.order_id, --- b.goods_id, --- b.sku_id, --- b.goods_name, --- b.style_name, --- b.sku_name, --- b.sku_image, --- b.state, --- b.cnt, --- b.price, --- b.amount, c.name leaderName, c.phone leaderPhone, c.address_pic addressPic, @@ -191,12 +179,12 @@ c.township, c.detail_address detailAddress from mall_order_info a - inner join mall_order_item b on a.id=b.order_id - inner join mall_team_leader c on a.take_unique_code=c.unique_code + inner join mall_order_item b on a.id=b.order_id + inner join mall_team_leader c on a.take_unique_code=c.unique_code <where> a.del_flag=2 - <if test="record.query != null and record.query != ''"> - and (b.goods_name like CONCAT('%', CONCAT(#{record.query}, '%')) or b.style_name like CONCAT('%', CONCAT(#{record.query}, '%')) or b.sku_name like CONCAT('%', CONCAT(#{record.query}, '%'))) + <if test="record.memberId != null"> + and a.member_id=#{record.memberId} </if> <if test="record.status == 4 and record.status != 0"> and a.status = 4 @@ -207,8 +195,8 @@ <if test="record.status == 5"> and a.status = 7 or b.state in (2,3) </if> - <if test="record.memberId != null"> - and a.member_id=#{record.memberId} + <if test="record.query != null and record.query != ''"> + and (b.goods_name like CONCAT('%', CONCAT(#{record.query}, '%')) or b.style_name like CONCAT('%', CONCAT(#{record.query}, '%')) or b.sku_name like CONCAT('%', CONCAT(#{record.query}, '%'))) </if> <if test="record.orderType != null"> and a.order_type=#{record.orderType} diff --git a/src/main/resources/mapper/modules/MallTeamLeaderMapper.xml b/src/main/resources/mapper/modules/MallTeamLeaderMapper.xml index 16de05e..816713b 100644 --- a/src/main/resources/mapper/modules/MallTeamLeaderMapper.xml +++ b/src/main/resources/mapper/modules/MallTeamLeaderMapper.xml @@ -33,7 +33,7 @@ ) * 1000 ) AS distance from mall_team_leader a - inner join mall_electronic_fence b on b.team_leader_code = a.unique_code + left join mall_electronic_fence b on b.team_leader_code = a.unique_code <where> a.state = 1 and a.online_state = 1 <if test="record.query != null and record.query != ''"> @@ -74,6 +74,7 @@ <result column="comment_state" property="commentState" /> <result column="delivery_state" property="deliveryState" /> <result column="carriage" property="carriage" /> + <result column="take_code" property="takeCode" /> <result column="remark" property="remark" /> <result column="del_flag" property="delFlag" /> <result column="is_home" property="isHome" /> @@ -113,15 +114,7 @@ inner join mall_order_item b on a.id=b.order_id inner join mall_member c on a.take_unique_code=c.invite_id <where> - a.delivery_type = 1 - and c.id=#{record.memberId} - <if test="record.query != null and record.query != ''"> - and ( a.name like CONCAT('%', CONCAT(#{record.query}, '%')) - or a.phone like CONCAT('%', CONCAT(#{record.query}, '%')) - or a.take_code like CONCAT('%', CONCAT(#{record.query}, '%')) - or b.goods_name like CONCAT('%', CONCAT(#{record.query}, '%')) - ) - </if> + c.id=#{record.memberId} <if test="record.status == 4 and record.status != 0"> and a.status = 4 </if> @@ -137,9 +130,80 @@ <if test="record.status == 0"> and a.status in (2,3,4) </if> + <if test="record.query != null and record.query != ''"> + and ( a.name like CONCAT('%', CONCAT(#{record.query}, '%')) + or a.phone like CONCAT('%', CONCAT(#{record.query}, '%')) + or a.take_code like CONCAT('%', CONCAT(#{record.query}, '%')) + or b.goods_name like CONCAT('%', CONCAT(#{record.query}, '%')) + ) + </if> <if test="record.orderType != null"> and a.order_type=#{record.orderType} </if> + and a.delivery_type = 1 + </where> + order by a.created_time desc + </select> + + <resultMap id="NewOrderInfoMap" type="cc.mrbird.febs.mall.entity.MallOrderInfo"> + <id column="id" property="id" /> + <result column="order_no" property="orderNo" /> + <result column="member_id" property="memberId" /> + <result column="order_time" property="orderTime" /> + <result column="pay_time" property="payTime" /> + <result column="amount" property="amount" /> + <result column="pay_method" property="payMethod" /> + <result column="pay_order_no" property="payOrderNo" /> + <result column="pay_result" property="payResult" /> + <result column="status" property="status" /> + <result column="cancel_type" property="cancelType" /> + <result column="name" property="name" /> + <result column="phone" property="phone" /> + <result column="address" property="address" /> + <result column="longitude" property="longitude" /> + <result column="latitude" property="latitude" /> + <result column="order_type" property="orderType" /> + <result column="comment_state" property="commentState" /> + <result column="delivery_state" property="deliveryState" /> + <result column="carriage" property="carriage" /> + <result column="take_code" property="takeCode" /> + <result column="remark" property="remark" /> + <result column="del_flag" property="delFlag" /> + <result column="is_home" property="isHome" /> + </resultMap> + + <select id="selectNewApiLeaderOrderListInPage" resultMap="NewOrderInfoMap"> + select + a.* + from mall_order_info a + inner join mall_member c on a.take_unique_code=c.invite_id + <where> + c.id=#{record.memberId} + <if test="record.status == 4 and record.status != 0"> + and a.status = 4 + </if> + <if test="record.status != 4 and record.status != 1 and record.status != 0 and record.status != 5"> + and a.status = #{record.status} + </if> + <if test="record.status == 5"> + and (a.status = 6 or b.state = 2) + </if> + <if test="record.status == 1"> + and a.status = 2 + </if> + <if test="record.status == 0"> + and a.status in (2,3,4) + </if> + <if test="record.query != null and record.query != ''"> + and ( a.name like CONCAT('%', CONCAT(#{record.query}, '%')) + or a.phone like CONCAT('%', CONCAT(#{record.query}, '%')) + or a.take_code like CONCAT('%', CONCAT(#{record.query}, '%')) + ) + </if> + <if test="record.orderType != null"> + and a.order_type=#{record.orderType} + </if> + and a.delivery_type = 1 </where> order by a.created_time desc </select> diff --git a/src/main/resources/templates/febs/views/modules/leader/leaderFenceAdd.html b/src/main/resources/templates/febs/views/modules/leader/leaderFenceAdd.html index 64c999d..c33c954 100644 --- a/src/main/resources/templates/febs/views/modules/leader/leaderFenceAdd.html +++ b/src/main/resources/templates/febs/views/modules/leader/leaderFenceAdd.html @@ -93,7 +93,7 @@ <div class="layui-form-item"> <label class="layui-form-label">经纬度串:</label> <div class="layui-input-block"> - <input type="text" id="longlatiarr" name="longlatiarr" lay-verify="required" placeholder="" class="layui-input" readonly> + <input type="text" id="longlatiarr" name="longlatiarr" class="layui-input" readonly> </div> </div> <div class="layui-form-item febs-hide"> diff --git a/src/main/resources/templates/febs/views/modules/order/orderList.html b/src/main/resources/templates/febs/views/modules/order/orderList.html index 8ba4368..b921561 100644 --- a/src/main/resources/templates/febs/views/modules/order/orderList.html +++ b/src/main/resources/templates/febs/views/modules/order/orderList.html @@ -296,6 +296,7 @@ {field: 'memberName', title: '购买人', minWidth: 120,align:'left'}, {field: 'memberPhone', title: '联系方式', minWidth: 120,align:'left'}, // {field: 'memberBindPhone', title: '联系方式', minWidth: 120,align:'left'}, + {field: 'goodsName', title: '商品', minWidth: 120,align:'left'}, {field: 'amount', title: '订单金额', minWidth: 120,align:'left'}, {field: 'leaderName', title: '团长', minWidth: 120,align:'left'}, {field: 'orderTime', title: '下单时间', minWidth: 200,align:'left'}, -- Gitblit v1.9.1