jiangqs
2023-06-18 c00d0d3bc399b6648145dfd955cedbea90f5f99d
看板
40个文件已修改
4个文件已添加
854 ■■■■■ 已修改文件
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MgtBulletinBoardVo.java 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteActivityFallbackFactory.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteMemberFallbackFactory.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteOrderFallbackFactory.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteShopFallbackFactory.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteActivityService.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteMemberService.java 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteOrderService.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteShopService.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/concole/ActivityController.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/concole/GoodsController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/activity/ActivityRecordMapper.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/activity/ActivityRecordService.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/activity/ActivityRecordServiceImpl.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/resources/mapper/activity/ActivityRecordMapper.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/MemberMapper.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberService.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/concole/OrderController.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/console/ShopController.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/pojo/task/ShopTask.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopMapper.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/ShopTaskServiceImpl.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/ShopTaskService.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/management/MgtConfigController.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtAllotRecommendDto.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtAllotRecommendPageDto.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/pojo/config/RecommendCooperation.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtAllotRecommendPageVo.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/config/RecommendCooperationMapper.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/CustomConfigService.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/RecommendCooperationService.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/CustomConfigServiceImpl.java 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/RecommendCooperationServiceImpl.java 67 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/RecommendCooperationMapper.xml 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MgtBulletinBoardVo.java
New file
@@ -0,0 +1,57 @@
package com.ruoyi.system.api.domain.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
 * @author jqs34
 * @version 1.0
 * @classname MgtBulletinBoardVo
 * @description: TODO
 * @date 2023 2023/6/18 14:54
 */
@Data
public class MgtBulletinBoardVo {
    @ApiModelProperty(value = "总用户数")
    private Integer memberTotal;
    @ApiModelProperty(value = "今日新增用户")
    private Integer memberToday;
    @ApiModelProperty(value = "总客户数")
    private Integer customTotal;
    @ApiModelProperty(value = "今日新增客户")
    private Integer customToday;
    @ApiModelProperty(value = "总合作商数")
    private Integer shopTotal;
    @ApiModelProperty(value = "销售额")
    private BigDecimal salesTotal;
    @ApiModelProperty(value = "待处理订单")
    private Integer UnUseOrderTotal;
    @ApiModelProperty(value = "待跟进合作商")
    private Integer followShopToday;
    @ApiModelProperty(value = "活动订单数")
    private Integer activityOrderTotal;
    @ApiModelProperty(value = "活动人数")
    private Integer activityUserTotal;
    @ApiModelProperty(value = "待跟进客户")
    private Integer followUserToday;
    @ApiModelProperty(value = "代理商数")
    private Integer agencyTotal;
    @ApiModelProperty(value = "经销商数")
    private Integer dealerTotal;
}
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteActivityFallbackFactory.java
@@ -1,6 +1,7 @@
package com.ruoyi.system.api.factory;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.domain.vo.MgtBulletinBoardVo;
import com.ruoyi.system.api.service.RemoteActivityService;
import com.ruoyi.system.api.domain.poji.activity.ActivityGoods;
import org.slf4j.Logger;
@@ -36,6 +37,11 @@
            public R<List<Long>> listUserIdByActivityId(String activityId) {
                return R.fail("获取活动用户id列表失败:" + throwable.getMessage());
            }
            @Override
            public R<MgtBulletinBoardVo> boardActivityTotal() {
                return null;
            }
        };
    }
}
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteMemberFallbackFactory.java
@@ -3,14 +3,11 @@
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.domain.dto.AppMiniRegisterDto;
import com.ruoyi.system.api.domain.dto.MgtUserIdByKeywordDto;
import com.ruoyi.system.api.domain.vo.AppMiniRegisterVo;
import com.ruoyi.system.api.domain.vo.MgtSimpleMemberVo;
import com.ruoyi.system.api.domain.vo.MgtUserIdByKeywordVo;
import com.ruoyi.system.api.domain.vo.*;
import com.ruoyi.system.api.service.RemoteMemberService;
import com.ruoyi.system.api.domain.dto.AppMemberBindingDto;
import com.ruoyi.system.api.domain.dto.AppMemberGoodsTypeDto;
import com.ruoyi.system.api.domain.poji.member.Member;
import com.ruoyi.system.api.domain.vo.AppMemberCouponVo;
import com.ruoyi.system.api.model.AppMiniLoginDto;
import com.ruoyi.system.api.model.AppMiniLoginVo;
import org.slf4j.Logger;
@@ -97,6 +94,11 @@
            public R<MgtUserIdByKeywordVo> getUserIdByKeyword(MgtUserIdByKeywordDto mgtUserIdByKeywordDto) {
                return R.fail("获取用户列表失败:" + throwable.getMessage());
            }
            @Override
            public R<MgtBulletinBoardVo> boardMemberTotal() {
                return null;
            }
        };
    }
}
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteOrderFallbackFactory.java
@@ -1,6 +1,7 @@
package com.ruoyi.system.api.factory;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.domain.vo.MgtBulletinBoardVo;
import com.ruoyi.system.api.service.RemoteOrderService;
import com.ruoyi.system.api.domain.vo.AppOrderTotalVo;
import com.ruoyi.system.api.domain.vo.MerHomeShopTotalVo;
@@ -35,6 +36,11 @@
            public R<MerHomeShopTotalVo> getMerHomeTotal(MerHomeShopTotalVo merHomeShopTotalVo) {
                return R.fail("获取商户端统计失败:" + throwable.getMessage());
            }
            @Override
            public R<MgtBulletinBoardVo> boardOrderTotal() {
                return null;
            }
        };
    }
}
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteShopFallbackFactory.java
@@ -2,6 +2,7 @@
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.domain.dto.MgtShopIdByCodeDto;
import com.ruoyi.system.api.domain.vo.MgtBulletinBoardVo;
import com.ruoyi.system.api.domain.vo.MgtShopIdByCodeVo;
import com.ruoyi.system.api.domain.vo.MgtSimpleShopVo;
import com.ruoyi.system.api.model.QwH5LoginVo;
@@ -67,6 +68,11 @@
                return R.fail("获取商户列表失败:" + throwable.getMessage());
            }
            @Override
            public R<MgtBulletinBoardVo> boardShopTotal() {
                return null;
            }
        };
    }
}
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteActivityService.java
@@ -3,6 +3,7 @@
import com.ruoyi.common.core.constant.ServiceNameConstants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.domain.poji.activity.ActivityGoods;
import com.ruoyi.system.api.domain.vo.MgtBulletinBoardVo;
import com.ruoyi.system.api.factory.RemoteActivityFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
@@ -32,4 +33,14 @@
     */
    @PostMapping("/activity/listUserIdByActivityId")
    public R<List<Long>> listUserIdByActivityId(@RequestBody String activityId);
    /**
     * @description boardOrderTotal
     * @param
     * @return R<MgtBulletinBoardVo>
     * @author jqs34
     * @date 2023/6/18 17:30
     */
    @PostMapping("/boardActivityTotal")
    public R<MgtBulletinBoardVo> boardActivityTotal();
}
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteMemberService.java
@@ -7,10 +7,7 @@
import com.ruoyi.system.api.domain.dto.AppMiniRegisterDto;
import com.ruoyi.system.api.domain.dto.MgtUserIdByKeywordDto;
import com.ruoyi.system.api.domain.poji.member.Member;
import com.ruoyi.system.api.domain.vo.AppMiniRegisterVo;
import com.ruoyi.system.api.domain.vo.AppMemberCouponVo;
import com.ruoyi.system.api.domain.vo.MgtSimpleMemberVo;
import com.ruoyi.system.api.domain.vo.MgtUserIdByKeywordVo;
import com.ruoyi.system.api.domain.vo.*;
import com.ruoyi.system.api.factory.RemoteMemberFallbackFactory;
import com.ruoyi.system.api.model.AppMiniLoginDto;
import com.ruoyi.system.api.model.AppMiniLoginVo;
@@ -121,4 +118,14 @@
     */
    @PostMapping("/member/getUserIdByKeyword")
    public R<MgtUserIdByKeywordVo> getUserIdByKeyword(@RequestBody MgtUserIdByKeywordDto mgtUserIdByKeywordDto);
    /**
     * @description boardMemberTotal
     * @param
     * @return R<MgtBulletinBoardVo>
     * @author jqs34
     * @date 2023/6/18 16:45
     */
    @PostMapping("/member/boardMemberTotal")
    public R<MgtBulletinBoardVo> boardMemberTotal();
}
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteOrderService.java
@@ -2,11 +2,10 @@
import com.ruoyi.common.core.constant.ServiceNameConstants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.domain.poji.shop.Shop;
import com.ruoyi.system.api.domain.vo.AppOrderTotalVo;
import com.ruoyi.system.api.domain.vo.MerHomeShopTotalVo;
import com.ruoyi.system.api.domain.vo.MgtBulletinBoardVo;
import com.ruoyi.system.api.factory.RemoteOrderFallbackFactory;
import com.ruoyi.system.api.factory.RemoteUserFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@@ -20,5 +19,13 @@
    @PostMapping("/order/getMerHomeTotal")
    public R<MerHomeShopTotalVo> getMerHomeTotal(@RequestBody MerHomeShopTotalVo merHomeShopTotalVo);
    /**
     * @description boardOrderTotal
     * @param
     * @return R<MgtBulletinBoardVo>
     * @author jqs34
     * @date 2023/6/18 17:29
     */
    @PostMapping("/order/boardOrderTotal")
    public R<MgtBulletinBoardVo> boardOrderTotal();
}
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteShopService.java
@@ -4,6 +4,7 @@
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.domain.dto.MgtShopIdByCodeDto;
import com.ruoyi.system.api.domain.poji.shop.Shop;
import com.ruoyi.system.api.domain.vo.MgtBulletinBoardVo;
import com.ruoyi.system.api.domain.vo.MgtShopIdByCodeVo;
import com.ruoyi.system.api.domain.vo.MgtSimpleShopVo;
import com.ruoyi.system.api.domain.vo.ShopRelUserVo;
@@ -67,4 +68,14 @@
    @PostMapping("/shop/listShopSimpleVoByIds")
    public R<List<MgtSimpleShopVo>> listShopSimpleVoByIds(@RequestBody String shopIds);
    /**
     * @description boardShopTotal
     * @param
     * @return R<MgtBulletinBoardVo>
     * @author jqs34
     * @date 2023/6/18 16:45
     */
    @PostMapping("/shop/boardShopTotal")
    public R<MgtBulletinBoardVo> boardShopTotal();
}
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/concole/ActivityController.java
@@ -4,6 +4,7 @@
import com.ruoyi.goods.service.activity.ActivityGoodsService;
import com.ruoyi.goods.service.activity.ActivityRecordService;
import com.ruoyi.system.api.domain.poji.activity.ActivityGoods;
import com.ruoyi.system.api.domain.vo.MgtBulletinBoardVo;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -51,4 +52,17 @@
        List<Long> userIdList = activityRecordService.listUserIdByActivityId(activityId);
        return R.ok(userIdList);
    }
    /**
     * @description boardOrderTotal
     * @param
     * @return R<MgtBulletinBoardVo>
     * @author jqs34
     * @date 2023/6/18 17:30
     */
    @PostMapping("/boardActivityTotal")
    public R<MgtBulletinBoardVo> boardActivityTotal(){
        MgtBulletinBoardVo mgtBulletinBoardVo = activityRecordService.boardActivityTotal();
        return R.ok(mgtBulletinBoardVo);
    }
}
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/concole/GoodsController.java
@@ -98,4 +98,6 @@
        List<Goods> goodsList = goodsService.listGoodsByGoodsId(goodsIds);
        return R.ok(goodsList);
    }
}
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/activity/ActivityRecordMapper.java
@@ -24,4 +24,13 @@
     * @return  List<Long>
     */
    List<Long> listUserIdByActivityId(@Param("activityId") String activityId);
    /**
    * @description activityUserTotal
    * @param
    * @return Integer
    * @author jqs34
    * @date 2023/6/18 17:33
    */
    Integer activityUserTotal();
}
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/activity/ActivityRecordService.java
@@ -2,6 +2,7 @@
import com.ruoyi.goods.domain.pojo.activity.ActivityRecord;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.system.api.domain.vo.MgtBulletinBoardVo;
import java.util.List;
@@ -23,4 +24,13 @@
     * @return  List<Long>
     */
    List<Long> listUserIdByActivityId(String activityId);
    /**
    * @description boardActivityTotal
    * @param
    * @return MgtBulletinBoardVo
    * @author jqs34
    * @date 2023/6/18 17:32
    */
    MgtBulletinBoardVo boardActivityTotal();
}
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/activity/ActivityRecordServiceImpl.java
@@ -4,6 +4,7 @@
import com.ruoyi.goods.domain.pojo.activity.ActivityRecord;
import com.ruoyi.goods.mapper.activity.ActivityRecordMapper;
import com.ruoyi.goods.service.activity.ActivityRecordService;
import com.ruoyi.system.api.domain.vo.MgtBulletinBoardVo;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -32,7 +33,21 @@
     */
    @Override
    public List<Long> listUserIdByActivityId(String activityId){
        return activityRecordMapper.listUserIdByActivityId(activityId);
    }
    /**
     * @description boardActivityTotal
     * @param
     * @return MgtBulletinBoardVo
     * @author jqs34
     * @date 2023/6/18 17:32
     */
    @Override
    public MgtBulletinBoardVo boardActivityTotal(){
        MgtBulletinBoardVo mgtBulletinBoardVo = new MgtBulletinBoardVo();
        Integer activityUserTotal = activityRecordMapper.activityUserTotal();
        mgtBulletinBoardVo.setActivityUserTotal(activityUserTotal);
        return mgtBulletinBoardVo;
    }
}
ruoyi-modules/ruoyi-goods/src/main/resources/mapper/activity/ActivityRecordMapper.xml
@@ -8,4 +8,11 @@
        FROM t_activity_record
        WHERE del_flag = 0 AND activity_id = #{activityId}
    </select>
    <select id="activityUserTotal" resultType="java.lang.Integer">
        SELECT
            COUNT(DISTINCT user_id)
        FROM t_activity_record
        WHERE del_flag = 0
    </select>
</mapper>
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java
@@ -10,10 +10,7 @@
import com.ruoyi.system.api.domain.dto.AppMiniRegisterDto;
import com.ruoyi.system.api.domain.dto.MgtUserIdByKeywordDto;
import com.ruoyi.system.api.domain.poji.member.Member;
import com.ruoyi.system.api.domain.vo.AppMemberCouponVo;
import com.ruoyi.system.api.domain.vo.AppMiniRegisterVo;
import com.ruoyi.system.api.domain.vo.MgtSimpleMemberVo;
import com.ruoyi.system.api.domain.vo.MgtUserIdByKeywordVo;
import com.ruoyi.system.api.domain.vo.*;
import com.ruoyi.system.api.model.AppMiniLoginDto;
import com.ruoyi.system.api.model.AppMiniLoginVo;
import io.swagger.annotations.ApiOperation;
@@ -198,4 +195,18 @@
        return R.ok(mgtUserIdByKeywordVo);
    }
    /**
    * @description boardMemberTotal
    * @param
    * @return R<MgtBulletinBoardVo>
    * @author jqs34
    * @date 2023/6/18 16:45
    */
    @PostMapping("/boardMemberTotal")
    public R<MgtBulletinBoardVo> boardMemberTotal()
    {
        MgtBulletinBoardVo bulletinBoardVo = memberService.boardMemberTotal();
        return R.ok(bulletinBoardVo);
    }
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/MemberMapper.java
@@ -112,6 +112,24 @@
     * @return  MgtUserIdByKeywordVo
     */
    List<Long> getUserIdByKeyword(MgtUserIdByKeywordDto mgtUserIdByKeywordDto);
    /**
    * @description 总用户数
    * @param
    * @return Integer
    * @author jqs34
    * @date 2023/6/18 16:46
    */
    Integer memberTotal();
    /**
    * @description 今日新增用户数
    * @param
    * @return Integer
    * @author jqs34
    * @date 2023/6/18 16:47
    */
    Integer memberToday();
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java
@@ -929,4 +929,19 @@
        }
        return mgtUserIdByKeywordVo;
    }
    /**
     * @description boardMemberTotal
     * @param
     * @return MgtBulletinBoardVo
     * @author jqs34
     * @date 2023/6/18 16:45
     */
    @Override
    public MgtBulletinBoardVo boardMemberTotal(){
        MgtBulletinBoardVo mgtBulletinBoardVo = new MgtBulletinBoardVo();
        mgtBulletinBoardVo.setMemberTotal(memberMapper.memberTotal());
        mgtBulletinBoardVo.setMemberToday(memberMapper.memberToday());
        return mgtBulletinBoardVo;
    }
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberService.java
@@ -7,6 +7,7 @@
import com.ruoyi.system.api.domain.dto.*;
import com.ruoyi.system.api.domain.poji.member.Member;
import com.ruoyi.system.api.domain.vo.AppMiniRegisterVo;
import com.ruoyi.system.api.domain.vo.MgtBulletinBoardVo;
import com.ruoyi.system.api.domain.vo.MgtSimpleMemberVo;
import com.ruoyi.system.api.domain.vo.MgtUserIdByKeywordVo;
import com.ruoyi.system.api.model.AppMiniLoginDto;
@@ -214,4 +215,13 @@
     * @return  MgtUserIdByKeywordVo
     */
    MgtUserIdByKeywordVo getUserIdByKeyword(MgtUserIdByKeywordDto mgtUserIdByKeywordDto);
    /**
    * @description boardMemberTotal
    * @param
    * @return MgtBulletinBoardVo
    * @author jqs34
    * @date 2023/6/18 16:47
    */
    MgtBulletinBoardVo boardMemberTotal();
}
ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml
@@ -314,4 +314,12 @@
            AND (tm.mobile LIKE CONCAT('%',#{param.keyword},'%') OR tm.real_name LIKE CONCAT('%',#{param.keyword},'%') OR tm.nick_name LIKE CONCAT('%',#{param.keyword},'%'))
        </if>
    </select>
    <select id="memberTotal" resultType="java.lang.Integer">
        SELECT COUNT(user_id) FROM t_member WHERE del_flag = 0
    </select>
    <select id="memberToday" resultType="java.lang.Integer">
        SELECT COUNT(user_id) FROM t_member WHERE del_flag = 0 AND create_time = CURDATE()
    </select>
</mapper>
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/concole/OrderController.java
@@ -1,6 +1,12 @@
package com.ruoyi.order.controller.concole;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.order.service.order.OrderService;
import com.ruoyi.system.api.domain.vo.AppOrderTotalVo;
import com.ruoyi.system.api.domain.vo.MerHomeShopTotalVo;
import com.ruoyi.system.api.domain.vo.MgtBulletinBoardVo;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@@ -21,7 +27,7 @@
    private OrderService orderService;
    /*@PostMapping("/getAppOrderTotal")
    @PostMapping("/getAppOrderTotal")
    public R<AppOrderTotalVo> getAppOrderTotal(@RequestBody Long userId){
        AppOrderTotalVo appOrderTotalVo = orderService.getAppOrderTotal(userId);
        return R.ok(appOrderTotalVo);
@@ -32,5 +38,24 @@
    public R<MerHomeShopTotalVo> getMerHomeTotal(@RequestBody MerHomeShopTotalVo merHomeShopTotalVo){
        merHomeShopTotalVo = orderService.getMerHomeTotal(merHomeShopTotalVo);
        return R.ok(merHomeShopTotalVo);
    }*/
    }
    /**
    * @description boardOrderTotal
    * @param
    * @return R<MgtBulletinBoardVo>
    * @author jqs34
    * @date 2023/6/18 17:30
    */
    @PostMapping("/boardOrderTotal")
    public R<MgtBulletinBoardVo> boardOrderTotal(){
        MgtBulletinBoardVo mgtBulletinBoardVo = new MgtBulletinBoardVo();
        MgtBulletinBoardVo mgtBulletinBoardVoOrder = orderService.boardOrderTotal();
        mgtBulletinBoardVo.setSalesTotal(mgtBulletinBoardVoOrder.getSalesTotal());
        mgtBulletinBoardVo.setUnUseOrderTotal(mgtBulletinBoardVo.getUnUseOrderTotal());
        mgtBulletinBoardVo.setActivityOrderTotal(mgtBulletinBoardVo.getActivityOrderTotal());
        return R.ok(mgtBulletinBoardVo);
    }
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java
@@ -5,6 +5,7 @@
import com.ruoyi.order.domain.dto.*;
import com.ruoyi.order.domain.pojo.order.Order;
import com.ruoyi.order.domain.vo.*;
import com.ruoyi.system.api.domain.vo.MgtBulletinBoardVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -125,4 +126,14 @@
     * @return  List<MgtShopOrderPageVo>
     */
    List<MgtShopOrderPageVo> pageMgtShopOrder(Page page, @Param("param")MgtShopOrderPageDto mgtShopOrderPageDto);
    /**
     * @description boardOrderTotal
     * @param
     * @return MgtBulletinBoardVo
     * @author jqs34
     * @date 2023/6/18 17:20
     */
    MgtBulletinBoardVo boardOrderTotal();
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
@@ -1249,4 +1249,17 @@
        mgtOrderDetailVo.setVerifyTime(order.getUseTime());
        return mgtOrderDetailVo;
    }
    /**
     * @description boardOrderTotal
     * @param
     * @return MgtBulletinBoardVo
     * @author jqs34
     * @date 2023/6/18 17:20
     */
    @Override
    public MgtBulletinBoardVo boardOrderTotal(){
        MgtBulletinBoardVo mgtBulletinBoardVo = orderMapper.boardOrderTotal();
        return mgtBulletinBoardVo;
    }
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java
@@ -8,6 +8,7 @@
import com.ruoyi.system.api.domain.dto.AppBaseGetDto;
import com.ruoyi.system.api.domain.vo.AppOrderTotalVo;
import com.ruoyi.system.api.domain.vo.MerHomeShopTotalVo;
import com.ruoyi.system.api.domain.vo.MgtBulletinBoardVo;
import java.util.List;
@@ -174,4 +175,14 @@
     * @return  MgtOrderDetailVo
     */
    MgtOrderDetailVo getMgtOrderDetail(String orderId);
    /**
    * @description boardOrderTotal
    * @param
    * @return MgtBulletinBoardVo
    * @author jqs34
    * @date 2023/6/18 17:20
    */
    MgtBulletinBoardVo boardOrderTotal();
}
ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml
@@ -621,4 +621,14 @@
        </if>
        ORDER BY toc.create_time DESC
    </select>
    <select id="boardOrderTotal" resultType="com.ruoyi.system.api.domain.vo.MgtBulletinBoardVo">
        SELECT
            SUM(CASE WHEN order_status = 3 THEN pay_money ELSE 0 END) salesTotal,
            SUM(CASE WHEN order_status = 2 THEN 1 ELSE 0 END) UnUseOrderTotal,
            SUM(CASE WHEN order_from = 2 THEN 1 ELSE 0 END) activityOrderTotal
        FROM t_order
        WHERE del_flag = 0
    </select>
</mapper>
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/console/ShopController.java
@@ -8,9 +8,11 @@
import com.ruoyi.shop.service.shop.ShopService;
import com.ruoyi.shop.service.shop.ShopStaffService;
import com.ruoyi.shop.service.shop.ShopSuggestService;
import com.ruoyi.shop.service.task.ShopTaskService;
import com.ruoyi.system.api.domain.dto.MgtShopIdByCodeDto;
import com.ruoyi.system.api.domain.poji.shop.Shop;
import com.ruoyi.system.api.domain.poji.sys.SysUser;
import com.ruoyi.system.api.domain.vo.MgtBulletinBoardVo;
import com.ruoyi.system.api.domain.vo.MgtShopIdByCodeVo;
import com.ruoyi.system.api.domain.vo.MgtSimpleShopVo;
import com.ruoyi.system.api.domain.vo.ShopRelUserVo;
@@ -51,6 +53,9 @@
    @Resource
    private ShopSuggestService shopSuggestService;
    @Resource
    private ShopTaskService shopTaskService;
    /**
@@ -134,4 +139,24 @@
        List<MgtSimpleShopVo> mgtShopListSimpleVos = shopService.listShopSimpleVoByIds(shopIds);
        return R.ok(mgtShopListSimpleVos);
    }
    /**
     * @description boardShopTotal
     * @param
     * @return R<MgtBulletinBoardVo>
     * @author jqs34
     * @date 2023/6/18 16:45
     */
    @PostMapping("/boardShopTotal")
    public R<MgtBulletinBoardVo> boardShopTotal()
    {
        MgtBulletinBoardVo bulletinBoardVo = new MgtBulletinBoardVo();
        MgtBulletinBoardVo bulletinBoardVoShop = shopService.boardShopTotal();
        MgtBulletinBoardVo bulletinBoardVoTask = shopTaskService.boardTaskTotal();
        bulletinBoardVo.setShopTotal(bulletinBoardVoShop.getShopTotal());
        bulletinBoardVo.setDealerTotal(bulletinBoardVoShop.getDealerTotal());
        bulletinBoardVo.setAgencyTotal(bulletinBoardVoShop.getAgencyTotal());
        bulletinBoardVo.setFollowShopToday(bulletinBoardVoTask.getFollowShopToday());
        return R.ok(bulletinBoardVo);
    }
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/pojo/task/ShopTask.java
@@ -76,7 +76,11 @@
    @TableField("task_date")
    private Date taskDate;
    /**
     * 任务状态0未开始1待处理2已处理3已过期
     */
    @TableField("task_status")
    private Integer taskStatus;
    @Override
    protected Serializable pkVal() {
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopMapper.java
@@ -6,6 +6,7 @@
import com.ruoyi.shop.domain.vo.*;
import com.ruoyi.system.api.domain.dto.MgtShopIdByCodeDto;
import com.ruoyi.system.api.domain.poji.shop.Shop;
import com.ruoyi.system.api.domain.vo.MgtBulletinBoardVo;
import com.ruoyi.system.api.domain.vo.MgtSimpleShopVo;
import org.apache.ibatis.annotations.Param;
@@ -109,4 +110,13 @@
     * @date 2023/6/15 0:05
     */
    List<MgtShopAuthPageVo> pageMgtShopAuth(Page page, @Param("param")MgtShopAuthPageDto mgtShopAuthPageDto);
    /**
    * @description shopTotal
    * @param
    * @return MgtBulletinBoardVo
    * @author jqs34
    * @date 2023/6/18 17:01
    */
    MgtBulletinBoardVo shopTotal();
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java
@@ -24,6 +24,7 @@
import com.ruoyi.system.api.domain.poji.shop.Shop;
import com.ruoyi.system.api.domain.poji.sys.SysUser;
import com.ruoyi.system.api.domain.vo.MerHomeShopTotalVo;
import com.ruoyi.system.api.domain.vo.MgtBulletinBoardVo;
import com.ruoyi.system.api.domain.vo.MgtShopIdByCodeVo;
import com.ruoyi.system.api.domain.vo.MgtSimpleShopVo;
import com.ruoyi.system.api.service.RemoteConfigService;
@@ -600,4 +601,17 @@
    public List<MgtShopAuthPageVo> pageMgtShopAuth(Page page,  MgtShopAuthPageDto mgtShopAuthPageDto){
        return shopMapper.pageMgtShopAuth(page, mgtShopAuthPageDto);
    }
    /**
     * @description boardShopTotal
     * @param
     * @return MgtBulletinBoardVo
     * @author jqs34
     * @date 2023/6/18 16:59
     */
    @Override
    public MgtBulletinBoardVo boardShopTotal(){
        MgtBulletinBoardVo mgtBulletinBoardVoShop = shopMapper.shopTotal();
        return mgtBulletinBoardVoShop;
    }
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/ShopTaskServiceImpl.java
@@ -1,5 +1,6 @@
package com.ruoyi.shop.service.impl.task;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.utils.DateUtils;
import com.ruoyi.common.core.utils.StringUtils;
@@ -12,6 +13,7 @@
import com.ruoyi.shop.service.task.ShopTaskRecordService;
import com.ruoyi.shop.service.task.ShopTaskService;
import com.ruoyi.shop.service.task.TaskFileService;
import com.ruoyi.system.api.domain.vo.MgtBulletinBoardVo;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -104,5 +106,22 @@
        this.saveOrUpdate(shopNextTask);
    }
    /**
     * @description boardTaskTotal
     * @param
     * @return MgtBulletinBoardVo
     * @author jqs34
     * @date 2023/6/18 17:08
     */
    @Override
    public MgtBulletinBoardVo boardTaskTotal(){
        MgtBulletinBoardVo mgtBulletinBoardVo = new MgtBulletinBoardVo();
        LambdaQueryWrapper<ShopTask> queryWrapper = new LambdaQueryWrapper();
        queryWrapper.eq(ShopTask::getDelFlag,0);
        queryWrapper.eq(ShopTask::getTaskStatus,1);
        queryWrapper.eq(ShopTask::getTaskDate,DateUtils.getDate());
        Integer followShopToday = this.count(queryWrapper);
        mgtBulletinBoardVo.setFollowShopToday(followShopToday);
        return mgtBulletinBoardVo;
    }
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java
@@ -8,6 +8,7 @@
import com.ruoyi.system.api.domain.poji.member.Member;
import com.ruoyi.system.api.domain.poji.shop.Shop;
import com.ruoyi.system.api.domain.vo.MerHomeShopTotalVo;
import com.ruoyi.system.api.domain.vo.MgtBulletinBoardVo;
import com.ruoyi.system.api.domain.vo.MgtShopIdByCodeVo;
import com.ruoyi.system.api.domain.vo.MgtSimpleShopVo;
@@ -159,4 +160,13 @@
    * @date 2023/6/15 0:05
    */
    List<MgtShopAuthPageVo> pageMgtShopAuth(Page page,  MgtShopAuthPageDto mgtShopAuthPageDto);
    /**
    * @description boardShopTotal
    * @param
    * @return MgtBulletinBoardVo
    * @author jqs34
    * @date 2023/6/18 17:01
    */
    MgtBulletinBoardVo boardShopTotal();
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/ShopTaskService.java
@@ -1,14 +1,9 @@
package com.ruoyi.shop.service.task;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.shop.domain.dto.MgtFollowShopTaskDto;
import com.ruoyi.shop.domain.dto.MgtShopTaskPageDto;
import com.ruoyi.shop.domain.pojo.task.ShopTask;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.shop.domain.vo.MgtAgencyTaskRecordPageVo;
import com.ruoyi.shop.domain.vo.MgtShopTaskRecordPageVo;
import java.util.List;
import com.ruoyi.shop.domain.dto.MgtFollowShopTaskDto;
import com.ruoyi.shop.domain.pojo.task.ShopTask;
import com.ruoyi.system.api.domain.vo.MgtBulletinBoardVo;
/**
 * <p>
@@ -26,5 +21,12 @@
     */
    void followShopTask(MgtFollowShopTaskDto mgtFollowShopTaskDto);
    /**
    * @description boardTaskTotal
    * @param
    * @return MgtBulletinBoardVo
    * @author jqs34
    * @date 2023/6/18 17:09
    */
    MgtBulletinBoardVo boardTaskTotal();
}
ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml
@@ -537,4 +537,14 @@
            AND tsa.audit_status = #{param.auditStatus}
        </if>
    </select>
    <select id="shopTotal" resultType="com.ruoyi.system.api.domain.vo.MgtBulletinBoardVo">
        SELECT
            COUNT(shop_id) AS shopTotal,
            SUM(CASE WHEN shopType = 1 THEN 1 ELSE 0 END) AS dealerTotal,
            SUM(CASE WHEN shopType = 2 THEN 1 ELSE 0 END) AS agencyTotal
        FROM t_shop
        WHERE del_flag = 0
    </select>
</mapper>
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/management/MgtConfigController.java
@@ -5,6 +5,7 @@
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.system.api.domain.dto.MgtBaseGetDto;
import com.ruoyi.system.api.domain.dto.MgtPageDto;
import com.ruoyi.system.api.domain.vo.MgtBulletinBoardVo;
import com.ruoyi.system.domain.dto.*;
import com.ruoyi.system.domain.vo.*;
import com.ruoyi.system.service.config.*;
@@ -65,6 +66,9 @@
    @Resource
    private RegionService regionService;
    @Resource
    private RecommendCooperationService recommendCooperationService;
    @RequestMapping(value = "/getCustomConfig", method = RequestMethod.POST)
@@ -382,4 +386,32 @@
        List<RegionVo> regionVoList = regionService.listRegionVo();
        return R.ok(regionVoList);
    }
    @RequestMapping(value = "/pageAllotRecommend", method = RequestMethod.POST)
    @ApiOperation(value = "分页获取推荐分配列表")
    public R<Page<MgtAllotRecommendPageVo>> pageAllotRecommend(@RequestBody MgtAllotRecommendPageDto mgtAllotRecommendPageDto) {
        Long userId = SecurityUtils.getUserId();
        mgtAllotRecommendPageDto.setUserId(userId);
        Page<MgtAllotRecommendPageVo> page = new Page<>();
        page.setSize(mgtAllotRecommendPageDto.getPageSize());
        page.setCurrent(mgtAllotRecommendPageDto.getPageNum());
        List<MgtAllotRecommendPageVo> allotRecommendPageVoList = recommendCooperationService.pageAllotRecommend(page, mgtAllotRecommendPageDto);
        return R.ok(page.setRecords(allotRecommendPageVoList));
    }
    @RequestMapping(value = "/allotRecommend", method = RequestMethod.POST)
    @ApiOperation(value = "删除文章")
    public R allotRecommend(@RequestBody MgtAllotRecommendDto mgtAllotRecommendDto) {
        mgtAllotRecommendDto.setUserId(SecurityUtils.getUserId());
        recommendCooperationService.allotRecommend(mgtAllotRecommendDto);
        return R.ok();
    }
    @RequestMapping(value = "/getBulletinBoard", method = RequestMethod.POST)
    @ApiOperation(value = "获取看板统计")
    public R<MgtBulletinBoardVo> getBulletinBoard() {
        Long userId = SecurityUtils.getUserId();
        MgtBulletinBoardVo bulletinBoard = customConfigService.getBulletinBoard();
        return R.ok(bulletinBoard);
    }
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtAllotRecommendDto.java
New file
@@ -0,0 +1,22 @@
package com.ruoyi.system.domain.dto;
import com.ruoyi.system.api.domain.dto.MgtBaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @author jqs34
 * @version 1.0
 * @classname MgtAllotRecommendDto
 * @description: TODO
 * @date 2023 2023/6/18 14:37
 */
@Data
public class MgtAllotRecommendDto extends MgtBaseDto {
    @ApiModelProperty(value = "推荐id集合 多个,隔开")
    private String recommendIds;
    @ApiModelProperty(value = "分配用户id")
    private Long allotUserId;
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtAllotRecommendPageDto.java
New file
@@ -0,0 +1,37 @@
package com.ruoyi.system.domain.dto;
import com.ruoyi.system.api.domain.dto.MgtPageDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @author jqs34
 * @version 1.0
 * @classname MgtAllotRecommerdPageDto
 * @description: TODO
 * @date 2023 2023/6/18 14:15
 */
@Data
public class MgtAllotRecommendPageDto extends MgtPageDto {
    @ApiModelProperty(value = "搜索关键词")
    private String keyword;
    @ApiModelProperty(value = "会员来源")
    private String memberSource;
    @ApiModelProperty(value = "来源省code")
    private String sourceProvinceCode;
    @ApiModelProperty(value = "来源市code")
    private String sourceCityCode;
    @ApiModelProperty(value = "来源区code")
    private String sourceAreaCode;
    @ApiModelProperty(value = "提交时间")
    private String createStartTime;
    @ApiModelProperty(value = "提交时间")
    private String createEndTime;
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/pojo/config/RecommendCooperation.java
@@ -1,16 +1,16 @@
package com.ruoyi.system.domain.pojo.config;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
/**
 * <p>
@@ -70,7 +70,16 @@
     */
    @TableField("create_time")
    private Date createTime;
    /**
     * 分配人id
     */
    @TableField("allot_user_id")
    private Long allotUserId;
    /**
     * 客户来源
     */
    @TableField("member_source")
    private String memberSource;
    @Override
    protected Serializable pkVal() {
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtAllotRecommendPageVo.java
New file
@@ -0,0 +1,40 @@
package com.ruoyi.system.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
 * @author jqs34
 * @version 1.0
 * @classname MgtAllotRecommendPageVo
 * @description: TODO
 * @date 2023 2023/6/18 14:19
 */
@Data
public class MgtAllotRecommendPageVo {
    @ApiModelProperty(value = "推荐id")
    private Long id;
    @ApiModelProperty(value = "被推荐人")
    private String recommendedName;
    @ApiModelProperty(value = "被推荐人电话")
    private String recommendedPhone;
    @ApiModelProperty(value = "推荐人")
    private String recommendUserName;
    @ApiModelProperty(value = "会员来源")
    private String memberSource;
    @ApiModelProperty(value = "会员区域")
    private String memberArea;
    @ApiModelProperty(value = "提交时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/config/RecommendCooperationMapper.java
@@ -3,8 +3,11 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.system.domain.dto.MerShopRecommendPageDto;
import com.ruoyi.system.domain.dto.MgtAllotRecommendDto;
import com.ruoyi.system.domain.dto.MgtAllotRecommendPageDto;
import com.ruoyi.system.domain.pojo.config.RecommendCooperation;
import com.ruoyi.system.domain.vo.MerShopRecommendPageVo;
import com.ruoyi.system.domain.vo.MgtAllotRecommendPageVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -26,4 +29,42 @@
     * @return
     */
    List<MerShopRecommendPageVo> pageMerShopRecommend(Page page, @Param("param") MerShopRecommendPageDto merShopRecommendPageDto);
    /**
     * @description pageAllotRecommend
     * @param page
     * @param mgtAllotRecommendPageDto
     * @return List<MgtAllotRecommendPageVo>
     * @author jqs34
     * @date 2023/6/18 14:28
     */
    List<MgtAllotRecommendPageVo> pageAllotRecommend(Page page,  @Param("param")MgtAllotRecommendPageDto mgtAllotRecommendPageDto);
    /**
     * @description 分配推荐
     * @param mgtAllotRecommendDto
     * @return void
     * @author jqs34
     * @date 2023/6/18 14:40
     */
    void allotRecommend(@Param("param")MgtAllotRecommendDto mgtAllotRecommendDto);
    /**
    * @description customTotal
    * @param
    * @return Integer
    * @author jqs34
    * @date 2023/6/18 16:54
    */
    Integer customTotal();
    /**
    * @description customToday
    * @param
    * @return Integer
    * @author jqs34
    * @date 2023/6/18 16:54
    */
    Integer customToday();
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/CustomConfigService.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.system.api.domain.vo.MgtBulletinBoardVo;
import com.ruoyi.system.domain.dto.*;
import com.ruoyi.system.domain.pojo.config.CustomConfig;
import com.ruoyi.system.domain.vo.MgtAllCustomConfigVo;
@@ -94,4 +95,13 @@
     */
    MgtCustomConfigVo getCustomConfig(MgtCustomConfigDto mgtCustomConfigDto);
    /**
    * @description getBulletinBoard
    * @param
    * @return MgtBulletinBoardVo
    * @author jqs34
    * @date 2023/6/18 16:41
    */
    MgtBulletinBoardVo getBulletinBoard();
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/RecommendCooperationService.java
@@ -2,10 +2,14 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.system.api.domain.vo.MgtBulletinBoardVo;
import com.ruoyi.system.domain.dto.MerRecommendCooperationDto;
import com.ruoyi.system.domain.dto.MerShopRecommendPageDto;
import com.ruoyi.system.domain.dto.MgtAllotRecommendDto;
import com.ruoyi.system.domain.dto.MgtAllotRecommendPageDto;
import com.ruoyi.system.domain.pojo.config.RecommendCooperation;
import com.ruoyi.system.domain.vo.MerShopRecommendPageVo;
import com.ruoyi.system.domain.vo.MgtAllotRecommendPageVo;
import java.util.List;
@@ -32,4 +36,32 @@
     * @param merRecommendCooperationDto
     */
    void recommendCooperation(MerRecommendCooperationDto merRecommendCooperationDto);
    /**
    * @description pageAllotRecommend
    * @param page
    * @param mgtAllotRecommendPageDto
    * @return List<MgtAllotRecommendPageVo>
    * @author jqs34
    * @date 2023/6/18 14:28
    */
    List<MgtAllotRecommendPageVo> pageAllotRecommend(Page page, MgtAllotRecommendPageDto mgtAllotRecommendPageDto);
    /**
    * @description 分配推荐
    * @param mgtAllotRecommendDto
    * @return void
    * @author jqs34
    * @date 2023/6/18 14:40
    */
    void allotRecommend(MgtAllotRecommendDto mgtAllotRecommendDto);
    /**
     * @description boardMemberTotal
     * @param
     * @return MgtBulletinBoardVo
     * @author jqs34
     * @date 2023/6/18 16:47
     */
    MgtBulletinBoardVo boardMemberTotal();
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/CustomConfigServiceImpl.java
@@ -5,6 +5,11 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.system.api.constant.ConfigEnum;
import com.ruoyi.system.api.domain.poji.config.Activeness;
import com.ruoyi.system.api.domain.vo.MgtBulletinBoardVo;
import com.ruoyi.system.api.service.RemoteActivityService;
import com.ruoyi.system.api.service.RemoteMemberService;
import com.ruoyi.system.api.service.RemoteOrderService;
import com.ruoyi.system.api.service.RemoteShopService;
import com.ruoyi.system.domain.dto.*;
import com.ruoyi.system.domain.pojo.config.Advert;
import com.ruoyi.system.domain.pojo.config.CustomConfig;
@@ -16,6 +21,7 @@
import com.ruoyi.system.service.config.ActivenessService;
import com.ruoyi.system.service.config.AdvertService;
import com.ruoyi.system.service.config.CustomConfigService;
import com.ruoyi.system.service.config.RecommendCooperationService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -43,6 +49,20 @@
    @Resource
    private ActivenessService activenessService;
    @Resource
    private RemoteMemberService remoteMemberService;
    @Resource
    private RecommendCooperationService recommendCooperationService;
    @Resource
    private RemoteShopService remoteShopService;
    @Resource
    private RemoteOrderService remoteOrderService;
    @Resource
    private RemoteActivityService remoteActivityService;
    /**
     * @param key
@@ -474,4 +494,43 @@
        }
        return mgtCustomConfigVo;
    }
    /**
     * @description getBulletinBoard
     * @param
     * @return MgtBulletinBoardVo
     * @author jqs34
     * @date 2023/6/18 16:41
     */
    @Override
    public MgtBulletinBoardVo getBulletinBoard(){
        // 创建 MgtBulletinBoardVo 对象
        MgtBulletinBoardVo mgtBulletinBoardVo = new MgtBulletinBoardVo();
        // 获取会员信息
        MgtBulletinBoardVo mgtBulletinBoardVoMember = remoteMemberService.boardMemberTotal().getData();
        mgtBulletinBoardVo.setMemberTotal(mgtBulletinBoardVoMember.getMemberTotal());
        mgtBulletinBoardVo.setMemberToday(mgtBulletinBoardVoMember.getMemberToday());
        // 获取推荐合作信息
        MgtBulletinBoardVo mgtBulletinBoardVoCustom = recommendCooperationService.boardMemberTotal();
        mgtBulletinBoardVo.setCustomTotal(mgtBulletinBoardVoCustom.getCustomTotal());
        mgtBulletinBoardVo.setCustomToday(mgtBulletinBoardVoCustom.getCustomToday());
        // 获取店铺信息
        MgtBulletinBoardVo mgtBulletinBoardVoShop = remoteShopService.boardShopTotal().getData();
        mgtBulletinBoardVo.setShopTotal(mgtBulletinBoardVoShop.getShopTotal());
        mgtBulletinBoardVo.setAgencyTotal(mgtBulletinBoardVoShop.getAgencyTotal());
        mgtBulletinBoardVo.setDealerTotal(mgtBulletinBoardVoShop.getDealerTotal());
        mgtBulletinBoardVo.setFollowShopToday(mgtBulletinBoardVoShop.getFollowShopToday());
        mgtBulletinBoardVo.setFollowUserToday(0);
        // 获取订单信息
        MgtBulletinBoardVo mgtBulletinBoardVoOrder = remoteOrderService.boardOrderTotal().getData();
        mgtBulletinBoardVo.setSalesTotal(mgtBulletinBoardVoOrder.getSalesTotal());
        mgtBulletinBoardVo.setUnUseOrderTotal(mgtBulletinBoardVoOrder.getUnUseOrderTotal());
        mgtBulletinBoardVo.setActivityOrderTotal(mgtBulletinBoardVoOrder.getActivityOrderTotal());
        // 获取活动信息
        MgtBulletinBoardVo mgtBulletinBoardVoActivity = remoteActivityService.boardActivityTotal().getData();
        mgtBulletinBoardVo.setActivityUserTotal(mgtBulletinBoardVoActivity.getActivityUserTotal());
        // 返回 MgtBulletinBoardVo 对象
        return mgtBulletinBoardVo;
    }
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/RecommendCooperationServiceImpl.java
@@ -4,10 +4,14 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.utils.bean.BeanUtils;
import com.ruoyi.system.api.domain.vo.MgtBulletinBoardVo;
import com.ruoyi.system.domain.dto.MerRecommendCooperationDto;
import com.ruoyi.system.domain.dto.MerShopRecommendPageDto;
import com.ruoyi.system.domain.dto.MgtAllotRecommendDto;
import com.ruoyi.system.domain.dto.MgtAllotRecommendPageDto;
import com.ruoyi.system.domain.pojo.config.RecommendCooperation;
import com.ruoyi.system.domain.vo.MerShopRecommendPageVo;
import com.ruoyi.system.domain.vo.MgtAllotRecommendPageVo;
import com.ruoyi.system.mapper.config.RecommendCooperationMapper;
import com.ruoyi.system.service.config.RecommendCooperationService;
import org.springframework.stereotype.Service;
@@ -31,20 +35,25 @@
    private RecommendCooperationMapper recommendCooperationMapper;
    /**
     *
     * @param page
     * @param merShopRecommendPageDto
     * @return
     */
    * @description 分页获取商户推荐列表
    * @param page
    * @param merShopRecommendPageDto
    * @return List<MerShopRecommendPageVo>
    * @author jqs34
    * @date 2023/6/18 14:27
    */
    @Override
    public List<MerShopRecommendPageVo> pageMerShopRecommend(Page page, MerShopRecommendPageDto merShopRecommendPageDto){
        return recommendCooperationMapper.pageMerShopRecommend(page,merShopRecommendPageDto);
    }
    /**
     *
     * @param merRecommendCooperationDto
     */
    * @description 推荐合作
    * @param merRecommendCooperationDto
    * @return void
    * @author jqs34
    * @date 2023/6/18 14:27
    */
    @Override
    public void recommendCooperation(MerRecommendCooperationDto merRecommendCooperationDto){
        RecommendCooperation recommendCooperation = new RecommendCooperation();
@@ -56,4 +65,46 @@
        recommendCooperation.setCreateTime(new Date());
        this.save(recommendCooperation);
    }
    /**
     * @description pageAllotRecommend
     * @param page
     * @param mgtAllotRecommendPageDto
     * @return List<MgtAllotRecommendPageVo>
     * @author jqs34
     * @date 2023/6/18 14:26
     */
    @Override
    public List<MgtAllotRecommendPageVo> pageAllotRecommend(Page page, MgtAllotRecommendPageDto mgtAllotRecommendPageDto){
        List<MgtAllotRecommendPageVo> allotRecommendPageVoList = recommendCooperationMapper.pageAllotRecommend(page, mgtAllotRecommendPageDto);
        return allotRecommendPageVoList;
    }
    /**
     * @description 分配推荐
     * @param mgtAllotRecommendDto
     * @return void
     * @author jqs34
     * @date 2023/6/18 14:39
     */
    @Override
    public void allotRecommend(MgtAllotRecommendDto mgtAllotRecommendDto){
        recommendCooperationMapper.allotRecommend(mgtAllotRecommendDto);
    }
    /**
     * @description boardMemberTotal
     * @param
     * @return MgtBulletinBoardVo
     * @author jqs34
     * @date 2023/6/18 16:47
     */
    @Override
    public MgtBulletinBoardVo boardMemberTotal(){
        MgtBulletinBoardVo mgtBulletinBoardVo = new MgtBulletinBoardVo();
        mgtBulletinBoardVo.setCustomToday(recommendCooperationMapper.customToday());
        mgtBulletinBoardVo.setCustomTotal(recommendCooperationMapper.customTotal());
        return mgtBulletinBoardVo;
    }
}
ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/RecommendCooperationMapper.xml
@@ -17,4 +17,41 @@
        ORDER BY create_time DESC
    </select>
    <select id="pageAllotRecommend" resultType="com.ruoyi.system.domain.vo.MgtAllotRecommendPageVo">
        SELECT
            trc.id id,
            trc.recommended_name recommendedName,
            trc.recommended_phone recommendedPhone,
            su.nike_name recommendUserName,
            trc.member_source memberSource,
            trc.create_time createTime
        FROM t_recommend_cooperation trc
        LEFT JOIN sys_user su ON su.user_id = trc.recommend_user_id
        WHERE del_flag = 0
        <if test="param.keyword != null and param.keyword != ''">
            AND (trc.recommended_name LIKE CONCAT('%',#{param.keyword},'%') OR trc.recommended_phone LIKE CONCAT('%',#{param.keyword},'%') OR su.nike_name LIKE CONCAT('%',#{param.keyword},'%'))
        </if>
        <if test="param.memberSource != null and param.memberSource != ''">
            AND FIND_IN_SET(#{param.memberSource},trc.member_source) &gt; 0
        </if>
        <if test="param.createStartTime!=null and param.createStartTime!=''">
            AND trc.create_time &gt;= #{param.createStartTime}
        </if>
        <if test="param.createEndTime!=null and param.createEndTime!=''">
            AND trc.create_time &lt;= #{param.createEndTime}
        </if>
        ORDER BY trc.create_time DESC
    </select>
    <update id="allotRecommend">
        UPDATE t_recommend_cooperation set allot_user_id = #{param.allotUserId} WHERE id IN (#{param.recommendIds})
    </update>
    <select id="customTotal" resultType="java.lang.Integer">
        SELECT COUNT(id) FROM t_recommend_cooperation WHERE del_flag = 0
    </select>
    <select id="customToday" resultType="java.lang.Integer">
        SELECT COUNT(id) FROM t_recommend_cooperation WHERE del_flag = 0 AND create_time = CURDATE()
    </select>
</mapper>