xiaoyong931011
2022-09-08 42f399525b68f57f0f8491f455c0488c27c293d5
20220902
26 files modified
349 ■■■■ changed files
src/main/java/cc/mrbird/febs/mall/controller/AdminMallOrderController.java 26 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/dto/MallOrderInfoDto.java 5 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/entity/MallGoodsCategory.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/entity/MallRefundEntity.java 16 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsCategoryService.java 1 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallTeamLeaderServiceImpl.java 21 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java 3 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/vo/AdminMallGoodsCategoryVo.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/vo/AdminMallOrderInfoVo.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/vo/AdminMallTeamLeaderVo.java 3 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/pay/model/OrderStateDto.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/pay/service/impl/XcxPayServiceImpl.java 9 ●●●●● patch | view | raw | blame | history
src/main/resources/mapper/modules/MallGoodsCategoryMapper.xml 7 ●●●● patch | view | raw | blame | history
src/main/resources/mapper/modules/MallOrderInfoMapper.xml 9 ●●●● patch | view | raw | blame | history
src/main/resources/mapper/modules/MallRefundMapper.xml 21 ●●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/leader/leaderList.html 6 ●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/mallMember/chargeFlowList.html 10 ●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html 8 ●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/mallMember/moneyFlow.html 4 ●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/mallMember/moneyFlowList.html 14 ●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/order/commentList.html 28 ●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/order/orderList.html 45 ●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/order/orderRefundList.html 87 ●●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/product/categoryList.html 1 ●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/product/categoryUpdate.html 8 ●●●●● patch | view | raw | blame | history
src/main/resources/templates/index.html 9 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/controller/AdminMallOrderController.java
@@ -26,6 +26,7 @@
import cc.mrbird.febs.pay.util.WechatConfigure;
import cc.mrbird.febs.system.entity.Dept;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
@@ -86,6 +87,16 @@
     */
    @GetMapping("orderList")
    public FebsResponse getOrderList(MallOrderInfoDto mallOrderInfo, QueryRequest request) {
        String startTime = mallOrderInfo.getStartTime();
        String endTime = mallOrderInfo.getEndTime();
        if(StrUtil.isNotBlank(startTime) && StrUtil.isNotBlank(endTime)){
            DateTime dateStartTime= DateUtil.parseDate(startTime);
            DateTime dateEndTime = DateUtil.parseDate(endTime);
            int compare = DateUtil.compare(dateStartTime, dateEndTime);
            if(compare >= 0){
                return new FebsResponse().fail().message("请输入正确的开始时间和结束时间");
            }
        }
        Map<String, Object> data = getDataTable(adminMallOrderService.getOrderListInPage(mallOrderInfo, request));
        return new FebsResponse().success().data(data);
    }
@@ -321,14 +332,14 @@
            long orderId = Long.parseLong(id);
            MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(orderId);
            if(ObjectUtil.isEmpty(mallOrderInfo)){
                continue;
//                return new FebsResponse().fail().message("订单不存在");
//                continue;
                return new FebsResponse().fail().message("订单不存在");
            }
            Integer status = mallOrderInfo.getStatus() == null ? 0 : mallOrderInfo.getStatus();
            Integer deliveryState = mallOrderInfo.getDeliveryState() == null ? 0 : mallOrderInfo.getDeliveryState();
            if(OrderStatusEnum.WAIT_FINISH.getValue() != status || 2 != deliveryState){
                continue;
//                return new FebsResponse().fail().message("订单不是待确认到货状态");
//                continue;
                return new FebsResponse().fail().message("配送状态不是配送中状态");
            }
            mallOrderInfo.setDeliveryState(OrderDeliveryStateEnum.DELIVERY_FINISH.getValue());
            mallOrderInfoMapper.updateById(mallOrderInfo);
@@ -337,17 +348,18 @@
            orderStateDto.setOrderNo(mallOrderInfo.getOrderNo());
            String productNames = getProductNames(mallOrderInfo.getMemberId(), mallOrderInfo.getId());
            orderStateDto.setGoodsName(StrUtil.sub(productNames,0,10)+"...");
            orderStateDto.setOrderState("已送达");
            orderStateDto.setOrderState("待自提");
            orderStateDto.setTakeCode(mallOrderInfo.getTakeCode());
            String takeUniqueCode = mallOrderInfo.getTakeUniqueCode();
            MallTeamLeader mallTeamLeader = mallTeamLeaderMapper.selectLeaderByUniqueCode(takeUniqueCode);
            orderStateDto.setAddressArea(StrUtil.sub(mallTeamLeader.getAddressArea(),0,10)+"...");
            orderStateDto.setDetailAddress(StrUtil.sub(mallTeamLeader.getDetailAddress(),0,10)+"...");
            orderStateDto.setAmount(mallOrderInfo.getAmount().toString());
            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());
//            iXcxPayService.pushOrderToAddress(orderStateDto);
            iXcxPayService.uniformMessageSend(orderStateDto);
            iXcxPayService.pushOrderToAddress(orderStateDto);
//            iXcxPayService.uniformMessageSend(orderStateDto);
        }
        return new FebsResponse().success();
    }
src/main/java/cc/mrbird/febs/mall/dto/MallOrderInfoDto.java
@@ -28,4 +28,9 @@
    private Integer deliveryType;
    private String uniqueCode;
    private String startTime;
    private String endTime;
}
src/main/java/cc/mrbird/febs/mall/entity/MallGoodsCategory.java
@@ -22,4 +22,6 @@
    private String image;
    private Integer indexNum;
}
src/main/java/cc/mrbird/febs/mall/entity/MallRefundEntity.java
@@ -3,9 +3,11 @@
import cc.mrbird.febs.common.entity.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
@Data
@TableName("mall_refund")
@@ -48,4 +50,18 @@
    @TableField(exist = false)
    private String[] refundPicList;
    @TableField(exist = false)
    private String refundMemberName;
    @TableField(exist = false)
    private String refundMemberPhone;
    @TableField(exist = false)
    private String leaderName;
    @TableField(exist = false)
    private String leaderPhone;
    @TableField(exist = false)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date orderTime;
}
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsCategoryService.java
@@ -109,6 +109,7 @@
        MallGoodsCategory mallGoodsCategory = mallGoodsCategoryMapper.selectById(id);
        mallGoodsCategory.setName(mallGoodsCategoryParam.getName());
        mallGoodsCategory.setImage(mallGoodsCategoryParam.getImage());
        mallGoodsCategory.setIndexNum(mallGoodsCategoryParam.getIndexNum());
        if(ObjectUtil.isNotEmpty(mallGoodsCategoryParam.getParentId())){
            Long parentId = mallGoodsCategoryParam.getParentId();
            MallGoodsCategory mallGoodsCategoryParent = mallGoodsCategoryMapper.selectById(parentId);
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallTeamLeaderServiceImpl.java
@@ -2,6 +2,8 @@
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.common.entity.QueryRequest;
import cc.mrbird.febs.common.enumerates.FlowTypeEnum;
import cc.mrbird.febs.common.enumerates.MoneyFlowTypeEnum;
import cc.mrbird.febs.mall.conversion.MallTeamLeaderConversion;
import cc.mrbird.febs.mall.dto.AdminLeaderAddDto;
import cc.mrbird.febs.mall.dto.AdminLeaderUpdateDto;
@@ -10,10 +12,7 @@
import cc.mrbird.febs.mall.entity.MallLeaderStock;
import cc.mrbird.febs.mall.entity.MallMember;
import cc.mrbird.febs.mall.entity.MallTeamLeader;
import cc.mrbird.febs.mall.mapper.MallGoodsMapper;
import cc.mrbird.febs.mall.mapper.MallLeaderStockMapper;
import cc.mrbird.febs.mall.mapper.MallMemberMapper;
import cc.mrbird.febs.mall.mapper.MallTeamLeaderMapper;
import cc.mrbird.febs.mall.mapper.*;
import cc.mrbird.febs.mall.service.IAdminMallTeamLeaderService;
import cc.mrbird.febs.mall.vo.AdminMallActSetVo;
import cc.mrbird.febs.mall.vo.AdminMallTeamLeaderVo;
@@ -30,6 +29,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
@@ -42,11 +42,24 @@
    private final MallLeaderStockMapper mallLeaderStockMapper;
    private final MallGoodsMapper mallGoodsMapper;
    private final MallMemberMapper mallMemberMapper;
    private final MallMoneyFlowMapper mallMoneyFlowMapper;
    @Override
    public IPage<AdminMallTeamLeaderVo> getLeaderListInPage(MallTeamLeader mallTeamLeader, QueryRequest request) {
        Page<AdminMallTeamLeaderVo> page = new Page<>(request.getPageNum(), request.getPageSize());
        IPage<AdminMallTeamLeaderVo> adminMallActSetVos = this.baseMapper.selectLeaderListInPage(page, mallTeamLeader);
        List<AdminMallTeamLeaderVo> records = adminMallActSetVos.getRecords();
        if(CollUtil.isNotEmpty(adminMallActSetVos.getRecords())){
            for(AdminMallTeamLeaderVo adminMallTeamLeaderVo : records){
                BigDecimal totalProfit = mallMoneyFlowMapper.selectAmountByFlowtypeAndType(adminMallTeamLeaderVo.getMemberId(),
                        FlowTypeEnum.BALANCE.getValue(), MoneyFlowTypeEnum.LEADERACHIEVE.getValue(),
                        null,null,null).setScale(2,BigDecimal.ROUND_DOWN);
                adminMallTeamLeaderVo.setTotalProfit(totalProfit);
            }
        }
        return adminMallActSetVos;
    }
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java
@@ -166,11 +166,12 @@
            orderStateDto.setOrderNo(mallOrderInfo.getOrderNo());
            String productNames = getProductNames(mallOrderInfo.getMemberId(), mallOrderInfo.getId());
            orderStateDto.setGoodsName(StrUtil.sub(productNames,0,10)+"...");
            orderStateDto.setOrderState("已送达");
            orderStateDto.setOrderState("待自提");
            orderStateDto.setTakeCode(mallOrderInfo.getTakeCode());
            String takeUniqueCode = mallOrderInfo.getTakeUniqueCode();
            MallTeamLeader mallTeamLeader = mallTeamLeaderMapper.selectLeaderByUniqueCode(takeUniqueCode);
            orderStateDto.setAddressArea(StrUtil.sub(mallTeamLeader.getAddressArea(),0,10)+"...");
            orderStateDto.setDetailAddress(StrUtil.sub(mallTeamLeader.getDetailAddress(),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/vo/AdminMallGoodsCategoryVo.java
@@ -17,4 +17,6 @@
    private Integer isRecommend;
    private Integer indexNum;
}
src/main/java/cc/mrbird/febs/mall/vo/AdminMallOrderInfoVo.java
@@ -79,4 +79,6 @@
    private Integer deliveryState;
    //是否送货上门  1:是 2:否
    private Integer isHome;
    //团长姓名
    private String leaderName;
}
src/main/java/cc/mrbird/febs/mall/vo/AdminMallTeamLeaderVo.java
@@ -3,6 +3,7 @@
import io.swagger.annotations.ApiModel;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
@Data
@@ -37,4 +38,6 @@
    private Double latitude;
    private Date createdTime;
    //团战提成收益
    private BigDecimal totalProfit;
}
src/main/java/cc/mrbird/febs/pay/model/OrderStateDto.java
@@ -15,6 +15,8 @@
    private String orderState;
    //自提点名称
    private String addressArea;
    //自提点地址
    private String detailAddress;
    //取货号
    private String takeCode;
    //金额
src/main/java/cc/mrbird/febs/pay/service/impl/XcxPayServiceImpl.java
@@ -225,10 +225,11 @@
        orderStateMsgVo.setTemplate_id(info.getTemplateId());//订阅消息模板id
        orderStateMsgVo.setPage(info.getPage());
        Map<String, WxTemplateData> m = new HashMap<>(4);
        m.put("character_string2", new WxTemplateData(info.getOrderNo()));
        m.put("thing11", new WxTemplateData(info.getGoodsName()));
        m.put("amount1", new WxTemplateData(info.getAmount()));
        m.put("character_string9", new WxTemplateData(info.getTakeCode()));
        m.put("phrase1", new WxTemplateData(info.getOrderState()));
        m.put("thing2", new WxTemplateData(info.getAddressArea()));
        m.put("thing3", new WxTemplateData(info.getDetailAddress()));
        m.put("thing6", new WxTemplateData(info.getGoodsName()));
        m.put("character_string11", new WxTemplateData(info.getTakeCode()));
        orderStateMsgVo.setData(m);
        String s = JSONUtil.toJsonStr(orderStateMsgVo);
        log.info(s);
src/main/resources/mapper/modules/MallGoodsCategoryMapper.xml
@@ -3,7 +3,7 @@
<mapper namespace="cc.mrbird.febs.mall.mapper.MallGoodsCategoryMapper">
    <select id="selectCategoryListInPage" resultType="cc.mrbird.febs.mall.entity.MallGoodsCategory">
        SELECT m.id,m.name,b.name parentName,m.is_recommend isComand,m.image
        SELECT m.id,m.name,b.name parentName,m.is_recommend isComand,m.image,m.index_num indexNum
                FROM mall_goods_category m
                left join mall_goods_category b on m.parent_id = b.id
        <where>
@@ -13,7 +13,7 @@
                </if>
            </if>
        </where>
        order by m.parent_id asc
        order by m.parent_id,m.index_num asc
    </select>
    <select id="selectCategoryByName" resultType="cc.mrbird.febs.mall.entity.MallGoodsCategory">
@@ -49,16 +49,19 @@
        from mall_goods_category a
          left join mall_goods_category b on a.id=b.parent_id
        where a.parent_id = 0
        order by a.index_num asc
    </select>
    <select id="selectCategoryListByParentId" resultType="cc.mrbird.febs.mall.entity.MallGoodsCategory">
        select * from mall_goods_category
        where parent_id=#{id}
        order by index_num asc
    </select>
    <select id="selectRecommendCategoryList" resultType="cc.mrbird.febs.mall.entity.MallGoodsCategory">
        select * from mall_goods_category
        where parent_id=0 and is_recommend = 1
        order by index_num asc
    </select>
    <select id="getMallGoodsCategoryInfoById" resultType="cc.mrbird.febs.mall.vo.AdminMallGoodsCategoryVo">
src/main/resources/mapper/modules/MallOrderInfoMapper.xml
@@ -65,7 +65,8 @@
        select a.*,
               b.name memberName,
               b.bind_phone memberBindPhone,
               b.phone memberPhone
               b.phone memberPhone,
               c.name leaderName
        from mall_order_info a
        left join mall_member b on a.member_id = b.id
        left join mall_team_leader c on a.take_unique_code = c.unique_code
@@ -93,6 +94,12 @@
                <if test="record.uniqueCode != null and record.uniqueCode != ''">
                    and a.take_unique_code = #{record.uniqueCode}
                </if>
                <if test="record.startTime != null and record.startTime != ''">
                    and a.order_time &gt;= #{record.startTime}
                </if>
                <if test="record.endTime != null and record.endTime != ''">
                    and a.order_time &lt;= #{record.endTime}
                </if>
            </if>
        </where>
        GROUP BY a.id  order by a.created_time desc
src/main/resources/mapper/modules/MallRefundMapper.xml
@@ -25,18 +25,37 @@
    <select id="getOrderRefundListInPage" resultType="cc.mrbird.febs.mall.entity.MallRefundEntity">
        select a.*,
               b.order_time orderTime,
               b.order_no orderNo,
               b.status,
               c.goods_name goodsName,
               c.cnt
               c.cnt,
               d.name refundMemberName,
               d.phone refundMemberPhone,
               e.name leaderName,
               e.phone leaderPhone
        from mall_refund a
        inner join mall_order_info b on a.order_id = b.id
        inner join mall_order_item c on a.item_id = c.id
        inner join mall_member d on a.member_id = d.id
        inner join mall_team_leader e on b.take_unique_code = e.unique_code
        <where>
            <if test="record != null" >
                <if test="record.state!=null and record.state!=''">
                    and a.state = #{record.state}
                </if>
                <if test="record.refundMemberName!=null and record.refundMemberName!=''">
                    and d.name like concat('%',#{record.refundMemberName},'%')
                </if>
                <if test="record.refundMemberPhone!=null and record.refundMemberPhone!=''">
                    and d.phone like concat('%',#{record.refundMemberPhone},'%')
                </if>
                <if test="record.leaderName!=null and record.leaderName!=''">
                    and e.name like concat('%',#{record.leaderName},'%')
                </if>
                <if test="record.leaderPhone!=null and record.leaderPhone!=''">
                    and e.phone like concat('%',#{record.leaderPhone},'%')
                </if>
            </if>
        </where>
        order by a.CREATED_TIME desc
src/main/resources/templates/febs/views/modules/leader/leaderList.html
@@ -111,7 +111,7 @@
                });
            }
            if (layEvent === 'leaderCancel') {
                febs.modal.confirm('取消', '确认取消该团长?', function () {
                febs.modal.confirm('取消', '用户被取消团长资格将无法再次申请', function () {
                    leaderCancel(data.id);
                });
            }
@@ -165,6 +165,10 @@
                        templet: function (d) {
                            return '<a lay-event="seeImgThumb"><img id="seeImgThumb'+d.id+'" src="'+d.addressPic+'" alt=""></a>';
                        }, minWidth: 150,align:'center'},
                    {field: 'addressArea', title: '自提点名称', minWidth: 150,align:'left'},
                    {field: 'detailAddress', title: '自提点地址', minWidth: 150,align:'left'},
                    {field: 'totalProfit', title: '收益', minWidth: 150,align:'left'},
                    // {field: 'phone', title: '电话', minWidth: 150,align:'left'},
                    {field: 'state', title: '状态',
                        templet: function (d) {
                            if (d.state === 1) {
src/main/resources/templates/febs/views/modules/mallMember/chargeFlowList.html
@@ -9,12 +9,12 @@
                                <div class="layui-form-item">
                                    <div class="layui-inline">
                                        <div class="layui-input-inline">
                                            <input type="text" placeholder="用户名" name="name" autocomplete="off" class="layui-input">
                                            <input type="text" placeholder="用户昵称" name="name" autocomplete="off" class="layui-input">
                                        </div>
                                    </div>
                                    <div class="layui-inline">
                                        <div class="layui-input-inline">
                                            <input type="text" placeholder="手机号" name="phone" autocomplete="off" class="layui-input">
                                            <input type="text" placeholder="手机号码" name="phone" autocomplete="off" class="layui-input">
                                        </div>
                                    </div>
                                    <div class="layui-inline">
@@ -120,9 +120,9 @@
                url: ctx + 'admin/mallMember/getMoneyChargeList',
                cols: [[
                    {field: 'withdrawNo', title: '编号', minWidth: 100,align:'left'},
                    {field: 'name', title: '名称', minWidth: 100,align:'left'},
                    {field: 'phone', title: '账号', minWidth: 150,align:'left'},
                    {field: 'bindPhone', title: '手机号', minWidth: 150,align:'left'},
                    {field: 'name', title: '用户昵称', minWidth: 100,align:'left'},
                    {field: 'phone', title: '手机号码', minWidth: 150,align:'left'},
                    // {field: 'bindPhone', title: '', minWidth: 150,align:'left'},
                    {field: 'amount', title: '金额', minWidth: 150,align:'left'},
                    {field: 'amountFee', title: '手续费', minWidth: 150,align:'left'},
                    {field: 'status', title: '状态',
src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html
@@ -9,7 +9,7 @@
                                <div class="layui-form-item">
                                    <div class="layui-inline">
                                        <div class="layui-input-inline">
                                            <input type="text" placeholder="用户名" name="name" autocomplete="off" class="layui-input">
                                            <input type="text" placeholder="用户昵称" name="name" autocomplete="off" class="layui-input">
                                        </div>
                                    </div>
                                    <div class="layui-inline">
@@ -237,10 +237,10 @@
                defaultToolbar:[],
                cols: [[
                    // {type: 'checkbox'},
                    {field: 'phone', title: '账号', minWidth: 150,align:'left'},
                    {field: 'name', title: '名称', minWidth: 100,align:'left'},
                    {field: 'phone', title: '手机号码', minWidth: 150,align:'left'},
                    {field: 'name', title: '用户昵称', minWidth: 100,align:'left'},
                    {field: 'inviteId', title: '邀请码', minWidth: 100,align:'left'},
                    // {field: 'balance', title: '余额', minWidth: 100,align:'left'},
                    {field: 'balance', title: '余额', minWidth: 100,align:'left'},
                    // {field: 'score', title: '赠送积分', minWidth: 100,align:'left'},
                    // {field: 'prizeScore', title: '竞猜积分', minWidth: 100,align:'left'},
                    // {field: 'commission', title: '佣金', minWidth: 100,align:'left'},
src/main/resources/templates/febs/views/modules/mallMember/moneyFlow.html
@@ -80,6 +80,10 @@
                                return '<span>系统拨付</span>'
                            }else if (d.type === 17) {
                                return '<span>抽奖</span>'
                            }else if (d.type === 18) {
                                return '<span>充值</span>'
                            }else if (d.type === 19) {
                                return '<span>收益</span>'
                            }else{
                                return ''
                            }
src/main/resources/templates/febs/views/modules/mallMember/moneyFlowList.html
@@ -9,7 +9,7 @@
                                <div class="layui-form-item">
                                    <div class="layui-inline">
                                        <div class="layui-input-inline">
                                            <input type="text" placeholder="用户名" name="name" autocomplete="off" class="layui-input">
                                            <input type="text" placeholder="用户昵称" name="name" autocomplete="off" class="layui-input">
                                        </div>
                                    </div>
                                    <div class="layui-inline">
@@ -29,7 +29,7 @@
<!--                                                <option value="5">总监收益</option>-->
<!--                                                <option value="6">社区店补</option>-->
<!--                                                <option value="7">一代收益</option>-->
<!--                                                <option value="8">提现</option>-->
                                                <option value="8">提现</option>
<!--                                                <option value="9">转账</option>-->
                                                <option value="10">支付</option>
                                                <option value="11">退款</option>
@@ -39,6 +39,8 @@
<!--                                                <option value="15">感恩奖</option>-->
<!--                                                <option value="16">系统拨付</option>-->
<!--                                                <option value="17">抽奖</option>-->
                                                <option value="18">充值</option>
                                                <option value="19">收益</option>
                                            </select>
                                        </div>
                                    </div>
@@ -117,8 +119,8 @@
                id: 'moneyFlowTable',
                url: ctx + 'admin/mallMember/getMoneyFlowList',
                cols: [[
                    {field: 'name', title: '名称', minWidth: 100,align:'left'},
                    {field: 'phone', title: '账号', minWidth: 150,align:'left'},
                    {field: 'name', title: '用户昵称', minWidth: 100,align:'left'},
                    {field: 'phone', title: '手机号码', minWidth: 150,align:'left'},
                    {field: 'amount', title: '金额', minWidth: 150,align:'left'},
                    {field: 'type', title: '流水类型',
                        templet: function (d) {
@@ -156,6 +158,10 @@
                                return '<span>系统拨付</span>'
                            }else if (d.type === 17) {
                                return '<span>抽奖</span>'
                            }else if (d.type === 18) {
                                return '<span>充值</span>'
                            }else if (d.type === 19) {
                                return '<span>收益</span>'
                            }else{
                                return ''
                            }
src/main/resources/templates/febs/views/modules/order/commentList.html
@@ -5,18 +5,18 @@
                <div class="layui-card-body febs-table-full">
                    <form class="layui-form layui-table-form" lay-filter="user-table-form">
                        <div class="layui-form-item">
                            <div class="layui-col-md10">
                                <div class="layui-inline">
                                    <div class="layui-input-inline">
                                        <input type="text" placeholder="用户名" name="name" autocomplete="off" class="layui-input">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <div class="layui-input-inline">
                                        <input type="text" placeholder="商品名" name="goodsName" autocomplete="off" class="layui-input">
                                    </div>
                                </div>
                            </div>
<!--                            <div class="layui-col-md10">-->
<!--                                <div class="layui-inline">-->
<!--                                    <div class="layui-input-inline">-->
<!--                                        <input type="text" placeholder="用户名" name="name" autocomplete="off" class="layui-input">-->
<!--                                    </div>-->
<!--                                </div>-->
<!--                                <div class="layui-inline">-->
<!--                                    <div class="layui-input-inline">-->
<!--                                        <input type="text" placeholder="商品名" name="goodsName" autocomplete="off" class="layui-input">-->
<!--                                    </div>-->
<!--                                </div>-->
<!--                            </div>-->
                            <div class="layui-col-md2 layui-col-sm12 layui-col-xs12 table-action-area">
                                <div class="layui-btn layui-btn-sm layui-btn-primary febs-button-blue-plain table-action" id="query">
@@ -137,8 +137,8 @@
        // 获取查询参数
        function getQueryParams() {
            return {
                name: $searchForm.find('input[name="name"]').val().trim(),
                goodsName: $searchForm.find('input[name="goodsName"]').val().trim(),
                // name: $searchForm.find('input[name="name"]').val().trim(),
                // goodsName: $searchForm.find('input[name="goodsName"]').val().trim(),
            };
        }
src/main/resources/templates/febs/views/modules/order/orderList.html
@@ -59,6 +59,20 @@
                                        </select>
                                    </div>
                                </div>
                                <div class="layui-inline">
                                        <label class="layui-form-label layui-form-label-sm">开始时间</label>
                                        <div class="layui-input-inline">
                                            <input type="text" name="startTime" id="febs-form-group-date-start" lay-verify="date"
                                                   placeholder="yyyy-MM-dd" autocomplete="off" class="layui-input">
                                        </div>
                                </div>
                                <div class="layui-inline">
                                        <label class="layui-form-label layui-form-label-sm">结束时间</label>
                                        <div class="layui-input-inline">
                                            <input type="text" name="endTime" id="febs-form-group-date-end" lay-verify="date"
                                                   placeholder="yyyy-MM-dd" autocomplete="off" class="layui-input">
                                        </div>
                                </div>
                            </div>
                            <div class="layui-col-md2 layui-col-sm12 layui-col-xs12 table-action-area">
@@ -108,7 +122,7 @@
<!-- 表格操作栏 end -->
<script data-th-inline="none" type="text/javascript">
    // 引入组件并初始化
    layui.use([ 'jquery', 'form', 'table', 'febs', 'formSelects', 'upload'], function () {
    layui.use([ 'jquery', 'form', 'table', 'febs', 'formSelects', 'upload','laydate'], function () {
        var $ = layui.jquery,
            febs = layui.febs,
            form = layui.form,
@@ -121,7 +135,18 @@
            $add = $view.find('#add'),
            sortObject = {field: 'phone', type: null},
            formSelects = layui.formSelects,
            laydate = layui.laydate,
            tableIns;
        //日期范围
        laydate.render({
            elem: '#febs-form-group-date-start'
        });
        laydate.render({
            elem: '#febs-form-group-date-end'
        });
        form.render();
@@ -271,14 +296,14 @@
                        {field: 'memberPhone', title: '联系方式', minWidth: 120,align:'left'},
                        // {field: 'memberBindPhone', title: '联系方式', minWidth: 120,align:'left'},
                        {field: 'amount', title: '订单金额', minWidth: 120,align:'left'},
                        // {field: 'carriage', title: '运费', minWidth: 120,align:'left'},
                        {field: 'leaderName', title: '团长', minWidth: 120,align:'left'},
                        {field: 'orderTime', title: '下单时间', minWidth: 200,align:'left'},
                        {field: 'deliveryType', title: '配送方式',
                        {field: 'isHome', title: '配送方式',
                            templet: function (d) {
                                if (d.deliveryType === 1) {
                                if (d.isHome === 2) {
                                    return '<span style="color:dodgerblue;">自提</span>'
                                } else if (d.deliveryType === 2) {
                                    return '<span style="color:forestgreen;">快递</span>'
                                } else if (d.isHome === 1) {
                                    return '<span style="color:forestgreen;">送货上门</span>'
                                }else{
                                    return ''
                                }
@@ -328,7 +353,15 @@
        // 获取查询参数
        function getQueryParams() {
            let startTimestr = $searchForm.find('input[name="startTime"]').val().trim();
            let endTimeStr = $searchForm.find('input[name="endTime"]').val().trim();
            if(startTimestr != '' && endTimeStr != '' && startTimestr >= endTimeStr){
                febs.alert.warn('开始时间需要小于结束时间');
                return{};
            }
            return {
                startTime: $searchForm.find('input[name="startTime"]').val().trim(),
                endTime: $searchForm.find('input[name="endTime"]').val().trim(),
                name: $searchForm.find('input[name="name"]').val().trim(),
                orderNo: $searchForm.find('input[name="orderNo"]').val().trim(),
                payResult: $searchForm.find("select[name='payResult']").val(),
src/main/resources/templates/febs/views/modules/order/orderRefundList.html
@@ -5,36 +5,39 @@
                <div class="layui-card-body febs-table-full">
                    <form class="layui-form layui-table-form" lay-filter="user-table-form">
                        <div class="layui-form-item">
<!--                            <div class="layui-col-md10">-->
<!--                                <div class="layui-inline">-->
<!--                                    <div class="layui-input-inline">-->
<!--                                        <input type="text" placeholder="用户名" name="name" autocomplete="off" class="layui-input">-->
<!--                                    </div>-->
<!--                                </div>-->
<!--                                <div class="layui-inline">-->
<!--                                    <div class="layui-input-inline">-->
<!--                                        <input type="text" placeholder="电话号码" name="phone" autocomplete="off" class="layui-input">-->
<!--                                    </div>-->
<!--                                </div>-->
<!--                                <div class="layui-inline">-->
<!--                                    <div class="layui-input-inline">-->
<!--                                        <input type="text" placeholder="订单编号" name="orderNo" autocomplete="off" class="layui-input">-->
<!--                                    </div>-->
<!--                                </div>-->
<!--                                <div class="layui-inline">-->
<!--                                    <label class="layui-form-label layui-form-label-sm">订单状态</label>-->
<!--                                    <div class="layui-input-inline">-->
<!--                                        <select name="status">-->
<!--                                            <option value="">请选择</option>-->
<!--                                            <option value="1">已申请</option>-->
<!--                                            <option value="2">同意退款</option>-->
<!--                                            <option value="3">驳回退款</option>-->
<!--                                            <option value="4">已提交物流信息</option>-->
<!--                                            <option value="5">已退款</option>-->
<!--                                        </select>-->
<!--                                    </div>-->
<!--                                </div>-->
<!--                            </div>-->
                            <div class="layui-col-md10">
                                <div class="layui-inline">
                                    <div class="layui-input-inline">
                                        <input type="text" placeholder="退款人" name="refundMemberName" autocomplete="off" class="layui-input">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <div class="layui-input-inline">
                                        <input type="text" placeholder="退款人手机号码" name="refundMemberPhone" autocomplete="off" class="layui-input">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <div class="layui-input-inline">
                                        <input type="text" placeholder="团长" name="leaderName" autocomplete="off" class="layui-input">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <div class="layui-input-inline">
                                        <input type="text" placeholder="团长手机号码" name="leaderPhone" autocomplete="off" class="layui-input">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label layui-form-label-sm">退款状态</label>
                                    <div class="layui-input-inline">
                                        <select name="state">
                                            <option value="">请选择</option>
                                            <option value="1">成功</option>
                                            <option value="2">失败</option>
                                            <option value="3">退款中</option>
                                        </select>
                                    </div>
                                </div>
                            </div>
                            <div class="layui-col-md2 layui-col-sm12 layui-col-xs12 table-action-area">
                                <div class="layui-btn layui-btn-sm layui-btn-primary febs-button-blue-plain table-action" id="query">
@@ -85,7 +88,7 @@
<!-- 表格操作栏 end -->
<script data-th-inline="none" type="text/javascript">
    // 引入组件并初始化
    layui.use([ 'jquery', 'form', 'table', 'febs'], function () {
    layui.use([ 'jquery', 'form', 'table', 'febs', 'formSelects'], function () {
        var $ = layui.jquery,
            febs = layui.febs,
            form = layui.form,
@@ -138,11 +141,13 @@
                cols: [[
                    {field: 'orderNo', title: '订单编号', minWidth: 150,align:'left'},
                    {field: 'refundNo', title: '退款编号', minWidth: 150,align:'left'},
                    {field: 'orderTime', title: '下单时间', minWidth: 150,align:'left'},
                    {field: 'refundMemberName', title: '退款人', minWidth: 100,align:'left'},
                    {field: 'refundMemberPhone', title: '退款人手机号码', minWidth: 150,align:'left'},
                    {field: 'goodsName', title: '商品名称', minWidth: 150,align:'left'},
                    {field: 'amount', title: '退款金额', minWidth: 150,align:'left'},
                    {field: 'refundReason', title: '退款原因', minWidth: 150,align:'left'},
                    {field: 'refundRemark', title: '退款说明', minWidth: 150,align:'left'},
                    {field: 'refundPicList', title: '退款图片', templet: '#refundPicItem', minWidth: 200,align:'center'},
                    {field: 'amount', title: '退款金额', minWidth: 100,align:'left'},
                    {field: 'leaderName', title: '团长', minWidth: 100,align:'left'},
                    {field: 'leaderPhone', title: '团长手机号码', minWidth: 150,align:'left'},
                    {field: 'state', title: '退款状态',
                        templet: function (d) {
                            if (d.state === 1) {
@@ -155,6 +160,9 @@
                                return ''
                            }
                        }, minWidth: 80,align:'center'},
                    {field: 'refundReason', title: '退款原因', minWidth: 150,align:'left'},
                    {field: 'refundRemark', title: '退款说明', minWidth: 150,align:'left'},
                    {field: 'refundPicList', title: '退款图片', templet: '#refundPicItem', minWidth: 200,align:'center'},
                ]]
            });
        }
@@ -162,10 +170,11 @@
        // 获取查询参数
        function getQueryParams() {
            return {
                // name: $searchForm.find('input[name="name"]').val().trim(),
                // phone: $searchForm.find('input[name="phone"]').val().trim(),
                // orderNo: $searchForm.find('input[name="orderNo"]').val().trim(),
                // status: $searchForm.find("select[name='status']").val(),
                refundMemberName: $searchForm.find('input[name="refundMemberName"]').val().trim(),
                refundMemberPhone: $searchForm.find('input[name="refundMemberPhone"]').val().trim(),
                leaderName: $searchForm.find('input[name="leaderName"]').val().trim(),
                leaderPhone: $searchForm.find('input[name="leaderPhone"]').val().trim(),
                state: $searchForm.find("select[name='state']").val(),
            };
        }
src/main/resources/templates/febs/views/modules/product/categoryList.html
@@ -154,6 +154,7 @@
                        templet: function (d) {
                            return '<a lay-event="seeImges"><img id="seeImges'+d.id+'" src="'+d.image+'" alt=""></a>';
                        }, minWidth: 100,align:'center'},
                    {field: 'indexNum', title: '排序', minWidth: 150,align:'left'},
                    {title: '操作',
                        templet: function (d) {
                            return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="see" shiro:hasPermission="user:update">编辑</button>'
src/main/resources/templates/febs/views/modules/product/categoryUpdate.html
@@ -68,6 +68,13 @@
                <input type="radio" name="isRecommend" value="2" title="否" checked="">
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label febs-form-item-require">排序:</label>
            <div class="layui-input-block">
                <input type="number" name="indexNum"
                       lay-verify="indexNum" autocomplete="off" class="layui-input" >
            </div>
        </div>
        <div class="layui-form-item febs-hide">
            <button class="layui-btn" lay-submit="" lay-filter="categary-update-form-submit" id="submit"></button>
        </div>
@@ -133,6 +140,7 @@
                "name": goodsCategoryVo.name,
                "parentId": goodsCategoryVo.parentId,
                "image": goodsCategoryVo.image,
                "indexNum": goodsCategoryVo.indexNum,
                "isRecommend": goodsCategoryVo.isRecommend
            });
        }
src/main/resources/templates/index.html
@@ -15,11 +15,14 @@
    <link rel="stylesheet" th:href="@{febs/css/apexcharts.min.css}" media="all">
    <link rel="stylesheet" th:href="@{febs/css/formSelects-v4.css}" media="all">
    <!-- 高德地图,key为演示作用,请勿滥用-->
    <script src="https://webapi.amap.com/maps?v=1.4.15&key=04934a2cf5cfa8a29ffcf0fdcfaabb5f&plugin=AMap.Autocomplete,AMap.PolygonEditor"></script>
    <script type="text/javascript">
        window._AMapSecurityConfig = {
            securityJsCode:'8fd9b92f6e07b1f18d3ae39b42ff71bc',
        }
    </script>
    <script src="https://webapi.amap.com/maps?v=1.4.15&key=04934a2cf5cfa8a29ffcf0fdcfaabb5f&plugin=AMap.Autocomplete,AMap.PolyEditor"></script>
    <link href="https://unpkg.com/@wangeditor/editor@5.0.1/dist/css/style.css" rel="stylesheet">
    <script src="https://unpkg.com/@wangeditor/editor@latest/dist/index.js"></script>
    <link rel="stylesheet" href="https://a.amap.com/jsapi_demos/static/demo-center/css/demo-center.css" />
    <script src="https://a.amap.com/jsapi_demos/static/demo-center/js/demoutils.js"></script>
    <link rel="icon" th:href="@{febs/images/favicon.ico}" type="image/x-icon"/>
</head>
<body>