xiaoyong931011
2021-07-14 92d840dca526881cf296a75d9af643618141a5b4
202107014
5 files modified
2 files added
163 ■■■■■ changed files
gc-user/src/main/java/com/xzx/gc/user/controller/AdminDistribController.java 12 ●●●●● patch | view | raw | blame | history
gc-user/src/main/java/com/xzx/gc/user/dto/DistribInfoListDto.java 31 ●●●●● patch | view | raw | blame | history
gc-user/src/main/java/com/xzx/gc/user/mapper/AccountMapper.java 10 ●●●●● patch | view | raw | blame | history
gc-user/src/main/java/com/xzx/gc/user/service/DistribService.java 30 ●●●● patch | view | raw | blame | history
gc-user/src/main/java/com/xzx/gc/user/vo/DistribInfoListVo.java 41 ●●●●● patch | view | raw | blame | history
gc-user/src/main/java/com/xzx/gc/user/vo/DistribListVo.java 2 ●●● patch | view | raw | blame | history
gc-user/src/main/resources/mapper/user/AccountMapper.xml 37 ●●●●● patch | view | raw | blame | history
gc-user/src/main/java/com/xzx/gc/user/controller/AdminDistribController.java
@@ -12,6 +12,7 @@
import com.xzx.gc.user.mapper.AccountMapper;
import com.xzx.gc.user.mapper.RedPaperRuleMapper;
import com.xzx.gc.user.service.DistribService;
import com.xzx.gc.user.vo.DistribInfoListVo;
import com.xzx.gc.user.vo.DistribListVo;
import com.xzx.gc.user.vo.ViewSettingVo;
import io.swagger.annotations.Api;
@@ -77,7 +78,7 @@
        return  JsonResult.success("操作成功!");
    }
    @ApiOperation(value = "团长列表")
    @ApiOperation(value = "符合条件待入选团长列表")
    @ApiResponses(
            @ApiResponse(code = 200, message = "success", response = DistribListVo.class)
    )
@@ -116,6 +117,15 @@
        return  JsonResult.success("操作成功!");
    }
    @ApiOperation(value = "团长列表")
    @ApiResponses(
            @ApiResponse(code = 200, message = "success", response = DistribInfoListVo.class)
    )
    @PostMapping(value = Constants.ADMIN_VIEW_PREFIX + "/distrib/distribInfoList.json")
    public JsonResult<Map<String, Object>> distribInfoList(@RequestBody DistribInfoListDto distribInfoListDto) {
        return JsonResult.success(distribService.distribInfoList(distribInfoListDto));
    }
}
gc-user/src/main/java/com/xzx/gc/user/dto/DistribInfoListDto.java
New file
@@ -0,0 +1,31 @@
package com.xzx.gc.user.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@Data
@ApiModel(value = "DistribInfoListDto", description = "加入团长参数接收类")
public class DistribInfoListDto {
    private String name;
    private String phone;
    @JsonFormat(shape=JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @ApiModelProperty(value="开始时间")
    private Date reserveTimeStart;
    @JsonFormat(shape=JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @ApiModelProperty(value="结束时间")
    private Date reserveTimeEnd;
    @ApiModelProperty(value="第几页",required=true)
    private int page;
    @ApiModelProperty(value="每一页数量",required=true)
    private int limit;
}
gc-user/src/main/java/com/xzx/gc/user/mapper/AccountMapper.java
@@ -3,21 +3,17 @@
import com.xzx.gc.entity.AccountInfo;
import com.xzx.gc.entity.OrderInfo;
import com.xzx.gc.entity.ScoreDetails;
import com.xzx.gc.entity.UserInfo;
import com.xzx.gc.model.admin.AccountMoneyModel;
import com.xzx.gc.model.admin.UserAccountModel;
import com.xzx.gc.model.user.AccountReq;
import com.xzx.gc.model.user.AccountVo;
import com.xzx.gc.model.user.UserInfoVo;
import com.xzx.gc.model.user.UserReq;
import com.xzx.gc.user.dto.DistribInfoListDto;
import com.xzx.gc.user.dto.DistribListDto;
import com.xzx.gc.user.vo.DistribInfoListVo;
import com.xzx.gc.user.vo.DistribListVo;
import com.xzx.gc.util.GcMapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Map;
@Repository
public interface AccountMapper extends GcMapper<AccountInfo> {
@@ -54,5 +50,7 @@
    AccountInfo selectOneByUserId(@Param("userId")String userId);
    List<DistribListVo> selectDsitribListByQueryCol(@Param("record")DistribListDto distribListDto);
    List<DistribInfoListVo> selectDsitribInfoListByQueryCol(@Param("record")DistribInfoListDto distribInfoListDto);
}
gc-user/src/main/java/com/xzx/gc/user/service/DistribService.java
@@ -13,21 +13,19 @@
import com.xzx.gc.entity.UserHeadRelate;
import com.xzx.gc.entity.UserShareInfo;
import com.xzx.gc.user.dto.AdddistribDto;
import com.xzx.gc.user.dto.DistribInfoListDto;
import com.xzx.gc.user.dto.DistribListDto;
import com.xzx.gc.user.mapper.AccountMapper;
import com.xzx.gc.user.mapper.SysMessageMapper;
import com.xzx.gc.user.mapper.UserHeadRelateMapper;
import com.xzx.gc.user.mapper.UserShareInfoMapper;
import com.xzx.gc.user.vo.DistribListVo;
import com.xzx.gc.user.vo.HeadInfoVo;
import com.xzx.gc.user.vo.*;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.xzx.gc.entity.RedPaperRule;
import com.xzx.gc.model.JsonResult;
import com.xzx.gc.user.dto.UpdateSettingDto;
import com.xzx.gc.user.mapper.RedPaperRuleMapper;
import com.xzx.gc.user.vo.JhyInfoListVo;
import com.xzx.gc.user.vo.ViewSettingVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -222,4 +220,28 @@
        accountInfo.setIsHead(1);
        accountMapper.updateByPrimaryKey(accountInfo);
    }
    public Map<String, Object> distribInfoList(DistribInfoListDto distribInfoListDto) {
        PageHelper.startPage(distribInfoListDto.getPage(), distribInfoListDto.getLimit());
        if(StrUtil.isNotEmpty(distribInfoListDto.getName())){
            String decode = StringUtils.encode(distribInfoListDto.getName());
            distribInfoListDto.setName(decode);
        }
        List<DistribInfoListVo> distribInfoListVos = accountMapper.selectDsitribInfoListByQueryCol(distribInfoListDto);
        if(CollUtil.isNotEmpty(distribInfoListVos)){
            for(DistribInfoListVo distribInfoListVo : distribInfoListVos){
                String nickname = distribInfoListVo.getNickname();
                String decode = StringUtils.decode(nickname);
                distribInfoListVo.setNickname(decode);
            }
        }
        PageInfo<DistribInfoListVo> pageInfo = new PageInfo<>(distribInfoListVos);
        Map<String, Object> data = new HashMap<>();
        int count = Convert.toInt(pageInfo.getTotal());
        data.put("data", distribInfoListVos);
        data.put("count", count);
        data.put("code", 0);
        return data;
    }
}
gc-user/src/main/java/com/xzx/gc/user/vo/DistribInfoListVo.java
New file
@@ -0,0 +1,41 @@
package com.xzx.gc.user.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "DistribInfoListVo", description = "返回参数类")
public class DistribInfoListVo {
    private String id;
    @ApiModelProperty(value = "名称")
    private String nickname;
    @ApiModelProperty(value = "手机号码")
    private String phone;
    @ApiModelProperty(value = "注册时间")
    private String registTime;
    @ApiModelProperty(value = "团员数量")
    private Integer cnt;
    @ApiModelProperty(value = "交易单数")
    private String orderCnt;
    @ApiModelProperty(value = "环保币")
    private String amount;
    @ApiModelProperty(value = "积分")
    private String score;
    @ApiModelProperty(value = "是否为团长 1-是 2-否")
    private String isHead;
    @ApiModelProperty(value = "是否禁用 0:未冻结,1:冻结")
    private String isProhibit;
}
gc-user/src/main/java/com/xzx/gc/user/vo/DistribListVo.java
@@ -5,7 +5,7 @@
import lombok.Data;
@Data
@ApiModel(value = "DistribListVo", description = "团长返回参数类")
@ApiModel(value = "DistribListVo", description = "返回参数类")
public class DistribListVo {
    private String id;
gc-user/src/main/resources/mapper/user/AccountMapper.xml
@@ -161,10 +161,45 @@
            1=1
            <if test="record.queryCol != null and record.queryCol != ''">
                and (b.nick_name like concat('%',#{record.name},'%')
                or mobile_phone like concat('%',#{record.phone},'%') )
                or b.mobile_phone like concat('%',#{record.phone},'%') )
            </if>
        </where>
        order by id desc
    </select>
    <select id="selectDsitribInfoListByQueryCol" resultType="com.xzx.gc.user.vo.DistribInfoListVo">
        SELECT
        a.account_id id,
        b.nick_name nickname,
        b.mobile_phone phone,
        b.regist_time registTime,
        a.is_head isHead,
        (select IFNULL(count(1), 0) from xzx_user_head_relate where head_user_id = a.user_id GROUP BY head_user_id) cnt,
        (select IFNULL(count(1), 0) from xzx_user_head_details where head_user_id = a.user_id GROUP BY head_user_id) orderCnt,
        (select IFNULL(sum(amount), 0) from xzx_user_head_relate where head_user_id = a.user_id GROUP BY head_user_id) amount,
        (select IFNULL(sum(score), 0) from xzx_user_head_relate where head_user_id = a.user_id GROUP BY head_user_id) score,
        a.is_prohibit isProhibit
        FROM
        xzx_account_info a
        LEFT JOIN xzx_user_info b on a.user_id = b.user_id
        <where>
            1=1
            and a.is_head = 1
            <if test="record.name != null and record.name != ''">
                and b.nick_name like concat('%',#{record.name},'%')
            </if>
            <if test="record.phone != null and record.phone != ''">
                and b.mobile_phone like concat('%',#{record.phone},'%')
            </if>
            <if test="record.reserveTimeStart != null">
                and b.regist_time >= #{record.reserveTimeStart}
            </if>
            <if test="record.reserveTimeEnd != null">
                and b.regist_time &lt;= #{record.reserveTimeEnd}
            </if>
        </where>
         order by id desc
    </select>
</mapper>