zhangjinli 3 years ago
parent 3b4728dc82
commit 3e377f220a

@ -126,71 +126,5 @@ public class ScheduleController {
taskService.update(new UpdateWrapper<Task>().eq("id",taskId).set("status",3));
}
}
// @Scheduled(cron = "0 0/1 * * * ? ")
// @Scheduled(cron = "0 0 0 1 1/1 ?")
// public void taskRank() {
// //获取开始时间和结束时间
// Calendar cal = Calendar.getInstance();
// cal.setTime(new Date());
// cal.add(Calendar.MONTH,-1);
// cal.set(Calendar.DAY_OF_MONTH,1);
// cal.set(Calendar.HOUR_OF_DAY, 0);
// cal.set(Calendar.MINUTE, 0);
// cal.set(Calendar.SECOND, 0);
// Date timeStart = cal.getTime();
// cal.set(Calendar.DAY_OF_MONTH,cal.getActualMaximum(Calendar.DAY_OF_MONTH));
// Date timeEnd = cal.getTime();
// //获取员工排名进排名数据库
// QueryWrapper<RankListDTO> queryWrapper = new QueryWrapper<>();
// queryWrapper.groupBy("u.id");
// queryWrapper.orderByDesc("value");
// List<RankListVo> rankUserList = qywxDepartmentUserLinkMapper.getUserRankList(queryWrapper);
// if (rankUserList != null && rankUserList.size()>0){
// for (RankListVo rankListVo : rankUserList) {
// //查询是否有上一月记录,如果有就减去上一月传播值,没有则直接添加
// QueryWrapper<Rank> queryWrapper2 = new QueryWrapper<>();
// queryWrapper2.eq("linkId",rankListVo.getLinkId());
// queryWrapper2.eq("type",2);//2.员工
// queryWrapper2.orderByDesc("dateStart");
// queryWrapper2.last("limit 1");
// Rank rank = rankMapper.selectOne(queryWrapper2);
// if (rank != null){
// rankListVo.setValue(rankListVo.getValue() - rank.getValue());
// }
// Rank rank2 = new Rank();
// PropertyUtils.copyProperties(rankListVo,rank2);
// rank2.setType(2);//2.员工
// rank2.setDateStart(timeStart);
// rank2.setDateEnd(timeEnd);
// rank2.setCreateDate(new Date());
// rankMapper.insert(rank2);
// }
// }
// //计算经销商排名进排名数据库
// QueryWrapper<RankListDTO> queryWrapper3 = new QueryWrapper<>();
// queryWrapper3.groupBy("qd.departmentId");
// queryWrapper3.orderByDesc("value");
// List<RankListVo> rankDepartmentList = qywxDepartmentUserLinkMapper.getDepartmentRankList(queryWrapper3);
// if (rankDepartmentList != null && rankDepartmentList.size()>0){
// for (RankListVo rankListVo : rankDepartmentList) {
// //查询是否有上一月记录,如果有就减去上一月传播值,没有则直接添加
// QueryWrapper<Rank> queryWrapper2 = new QueryWrapper<>();
// queryWrapper2.eq("linkId",rankListVo.getLinkId());
// queryWrapper2.eq("type",1);//1.经销商
// queryWrapper2.orderByDesc("dateStart");
// queryWrapper2.last("limit 1");
// Rank rank = rankMapper.selectOne(queryWrapper2);
// if (rank != null){
// rankListVo.setValue(rankListVo.getValue() - rank.getValue());
// }
// Rank rank2 = new Rank();
// PropertyUtils.copyProperties(rankListVo,rank2);
// rank2.setType(1);//1.经销商
// rank2.setDateStart(timeStart);
// rank2.setDateEnd(timeEnd);
// rank2.setCreateDate(new Date());
// rankMapper.insert(rank2);
// }
// }
// }
}

@ -87,7 +87,7 @@ public class UserController {
.and(param.getDepartment() != null, q -> q.like("t2.name", param.getDepartment())
.or(o -> o.like("t3.name", param.getDepartment())))
.like(param.getName() != null, "t1.name", param.getName());
return Result.success(userService.pageList(MybatisPlusUtil.SetNumPage(param.getPageNum(), param.getPageSize()), qw));
return Result.success(userService.userDpList(MybatisPlusUtil.SetNumPage(param.getPageNum(), param.getPageSize()), qw));
}
@Operation(summary = "导出excel", description = "成员导出")
@ -105,7 +105,7 @@ public class UserController {
.and(param.getDepartment() != null, q -> q.like("t2.name", param.getDepartment())
.or(o -> o.like("t3.name", param.getDepartment())))
.like(param.getName() != null, "t1.name", param.getName());
IPage<Map> iPage = userService.pageList(MybatisPlusUtil.SetNumPage(1, 10000), qw);
IPage<Map> iPage = userService.userDpList(MybatisPlusUtil.SetNumPage(1, 10000), qw);
Workbook wb = ExcelUtil.writeToExcelByList(array, iPage.getRecords());
OutputStream output = response.getOutputStream();

@ -40,6 +40,10 @@ public class QYWXUController {
if (null == openid) {
return Result.fail(HttpStatusEnum.CUSTOM_EXCEPTION, "无效token");
}
User user = userService.selByOpenid(openid);
if(null == user){
return Result.fail(HttpStatusEnum.CUSTOM_EXCEPTION, "未知用户");
}
String access_token = httpUtil.qywxGetToken();
JSONObject res = httpUtil.qywxUserSession(access_token, obj.getString("code"));
String userid = res.getString("userid");

@ -75,7 +75,7 @@ public class RankUController {
public Result list(@Validated @RequestBody RankParam param) {
Page pg = MybatisPlusUtil.SetNumPage(param.getPageNum(), param.getPageSize());
QueryWrapper<UserEffectRecords> qw = new QueryWrapper<>();
LocalDateTime now = param.getDateTime() != null ? LocalDateTime.now() : param.getDateTime();
LocalDateTime now = param.getDateTime() == null ? LocalDateTime.now() : param.getDateTime();
qw.eq("date_format(t1.createAt, '%Y-%m')", now.format(DateTimeFormatter.ofPattern("yyyy-MM")));
IPage page = (param.getType() != null && param.getType() == 1) ? userEffectRecordsMapper.rankByDepartment(pg, qw) : userEffectRecordsMapper.rankByUser(pg, qw);
return Result.success(page.getRecords(), "请求成功");

@ -12,7 +12,4 @@ import java.util.List;
public interface QywxDepartmentUserLinkMapper extends BaseMapper<QywxDepartmentUserLink> {
List<RankListVo> getUserRankList(@Param("ew") Wrapper<RankListDTO> queryWrapper);
List<RankListVo> getDepartmentRankList(@Param("ew") QueryWrapper<RankListDTO> queryWrapper2);
}

@ -31,14 +31,15 @@ public interface UserMapper extends BaseMapper<User> {
@Select("UPDATE user set token=#{token},lastLoginAt=#{time} where openid=#{openid}")
void updByOpenid(String openid, String token, LocalDateTime time);
@Select("SELECT t1.id,t1.name,t1.tel,t1.avatar,t1.main_department,t1.sub_department,t1.points,t1.historyPoints,t1.creatAt,t1.updateAt,t1.lastLoginAt" +
",t2.name as main_departmentName,t3.name as sub_departmentName " +
"from user as t1 " +
"left join qywxDepartment as t2 on t1.main_department = t2.departmentId " +
"left join qywxDepartment as t3 on t1.sub_department = t3.departmentId " +
"${ew.customSqlSegment} " +
"ORDER BY lastLoginAt DESC,updateAt DESC,creatAt DESC")
IPage<Map> pageList(IPage iPage, @Param("ew") Wrapper<User> queryWrapper);
// @Select("SELECT t1.id,t1.name,t1.tel,t1.avatar,t1.main_department,t1.sub_department,t1.points,t1.historyPoints,t1.creatAt,t1.updateAt,t1.lastLoginAt" +
// ",t2.name as main_departmentName,t3.name as sub_departmentName,t4.department " +
// "from user as t1 " +
// "left join qywxDepartment as t2 on t1.main_department = t2.departmentId " +
// "left join qywxDepartment as t3 on t1.sub_department = t3.departmentId " +
// "left join (SELECT t.*,d.name as department from qywxDepartmentUserLink t left join qywxDepartment d on t.departmentId = d.departmentId) as t4 on t1.openid = t4.openid " +
// "${ew.customSqlSegment} " +
// "ORDER BY lastLoginAt DESC,updateAt DESC,creatAt DESC")
IPage<Map> userDpList(IPage iPage, @Param("ew") Wrapper<User> queryWrapper);
@Update("UPDATE user set points = points + #{record},historyPoints = historyPoints + #{record} WHERE id = #{userId}")
void updPoints(int userId, int record);

@ -18,6 +18,7 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
@ -75,6 +76,7 @@ public class Task extends Model {
@Schema(title="封面",description = "封面不能为空")
@TableField("coverUrl")
@NotNull(message = "封面不能为空",groups = {TaskValidGroup1.class})
@Min(value=1)
private String coverUrl;
/**

@ -23,5 +23,5 @@ public interface IUserService extends IService<User> {
public User selByOpenid(String openid);
Map selByOpenid2(@Param("openid") String openid);
public void updByOpenid(String openid, String token, LocalDateTime time);
IPage<Map> pageList(IPage iPage, @Param("ew") Wrapper<User> queryWrapper);
IPage<Map> userDpList(IPage iPage, @Param("ew") Wrapper<User> queryWrapper);
}

@ -37,7 +37,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
public void updByOpenid(String openid, String token, LocalDateTime time) {
userMapper.updByOpenid(openid, token, time);
}
public IPage<Map> pageList(IPage iPage, @Param("ew") Wrapper<User> queryWrapper){
return userMapper.pageList(iPage,queryWrapper);
public IPage<Map> userDpList(IPage iPage, @Param("ew") Wrapper<User> queryWrapper){
return userMapper.userDpList(iPage,queryWrapper);
}
}

@ -1,19 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zh.project0512.mapper.QywxDepartmentUserLinkMapper">
<select id="getUserRankList" resultType="com.zh.project0512.model.vo.RankListVo">
select u.openid as linkId,u.name as title,qd.name as subtitle,
(sum(IFNULL(v.playNum,0))+sum(IFNULL(v.commendNum,0))+sum(IFNULL(v.collectionNum,0))+sum(IFNULL(v.commentNum,0))+sum(IFNULL(v.reSendNum,0))+sum(IFNULL(v.recommendNum,0))) as value
from user as u
LEFT JOIN video as v ON u.id = v.userId and v.status &lt;&gt; 3
LEFT JOIN qywxDepartment as qd on qd.departmentId = u.main_department
${ew.customSqlSegment}
</select>
<select id="getDepartmentRankList" resultType="com.zh.project0512.model.vo.RankListVo">
select qd.departmentId as linkId,qd.name as title,sum(r.value) as value
from qywxDepartment as qd
LEFT JOIN qywxDepartmentUserLink as qdul on qd.departmentId = qdul.departmentId
LEFT JOIN rank as r on r.linkId=qdul.openid
${ew.customSqlSegment}
</select>
</mapper>

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zh.project0512.mapper.UserMapper">
<resultMap id="UserDpListMap" type="java.util.Map" autoMapping="false">
<id property="id" column="id"/>
<result column="name" property="name"/>
<result column="tel" property="tel"/>
<result column="avatar" property="avatar"/>
<result column="main_department" property="main_department"/>
<result column="main_departmentName" property="main_departmentName"/>
<result column="sub_department" property="sub_department"/>
<result column="sub_departmentName" property="sub_departmentName"/>
<result column="points" property="points"/>
<result column="historyPoints" property="historyPoints"/>
<result column="creatAt" property="creatAt"/>
<result column="updateAt" property="updateAt"/>
<result column="lastLoginAt" property="lastLoginAt"/>
<collection property="departmentList" ofType="java.util.Map" javaType="java.util.List" autoMapping="false">
<id column="dpId" property="id"/>
<result column="department" property="departmentName"/>
</collection>
</resultMap>
<select id="userDpList" resultMap="UserDpListMap">
SELECT t1.id,t1.name,t1.tel,t1.avatar,t1.main_department,t1.sub_department,t1.points,t1.historyPoints,t1.creatAt,t1.updateAt,t1.lastLoginAt
,t2.name as main_departmentName,t3.name as sub_departmentName,t4.departmentId as dpId,t4.department
from user as t1
left join qywxDepartment as t2 on t1.main_department = t2.departmentId
left join qywxDepartment as t3 on t1.sub_department = t3.departmentId
left join (SELECT t.*,d.name as department from qywxDepartmentUserLink t left join qywxDepartment d on t.departmentId = d.departmentId) as t4 on t1.openid = t4.openid
${ew.customSqlSegment}
ORDER BY lastLoginAt DESC,updateAt DESC,creatAt DESC
</select>
</mapper>
Loading…
Cancel
Save