记得上下班打卡 | git大法好,push需谨慎

Commit 99dc3c5e authored by 胡佳晨's avatar 胡佳晨

提交 接口

parent 011891e0
......@@ -4,6 +4,7 @@ import com.github.pagehelper.PageInfo;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.stone.entity.StoneScoreLogs;
import com.liquidnet.service.stone.vo.StoneLogsListVo;
import com.liquidnet.service.stone.vo.StoneUserVo;
import java.util.List;
......@@ -55,7 +56,10 @@ public interface IStoneScoreLogsService {
* ]
* @return
*/
ResponseDto<String> task(Integer taskId);
ResponseDto<String> doTask(Integer taskId);
ResponseDto<StoneUserVo> taskDetail();
/**
* 积分详情
......@@ -63,4 +67,6 @@ public interface IStoneScoreLogsService {
* @return
*/
PageInfo<List<StoneLogsListVo>> logList(Integer page);
}
......@@ -5,8 +5,11 @@ import com.liquidnet.client.admin.common.annotation.Log;
import com.liquidnet.client.admin.common.core.controller.BaseController;
import com.liquidnet.client.admin.common.core.domain.AjaxResult;
import com.liquidnet.client.admin.common.core.page.TableDataInfo;
import com.liquidnet.client.admin.common.utils.poi.ExcelUtil;
import com.liquidnet.client.admin.zhengzai.kylin.dto.OrderExportVo;
import com.liquidnet.client.admin.zhengzai.stone.service.IItemService;
import com.liquidnet.client.admin.zhengzai.stone.service.IScoreService;
import com.liquidnet.client.admin.zhengzai.stone.service.dto.StoneScoreListExportDto;
import com.liquidnet.client.admin.zhengzai.stone.service.vo.StoneUserScoreDetailVo;
import com.liquidnet.service.stone.dto.StoneScoreListDto;
import com.liquidnet.service.stone.entity.StoneScoreItems;
......@@ -22,6 +25,10 @@ import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@Api(tags = "积分明细")
@Controller
@RequestMapping("stone/logs")
......@@ -32,19 +39,19 @@ public class StoneLogsController extends BaseController {
private IScoreService iScoreService;
@GetMapping("integralStore")
@ApiOperation(value = "积分明细:列表View",position = 0)
@ApiOperation(value = "积分明细:列表View", position = 0)
public String integralStore(ModelMap mmap) {
return prefix + "/integralList";
}
@GetMapping("integralStoreEdit")
@ApiOperation(value = "积分明细:详情View",position = 1)
public String integralStoreEdit (ModelMap mmap) {
@ApiOperation(value = "积分明细:详情View", position = 1)
public String integralStoreEdit(ModelMap mmap) {
return prefix + "/integralDetail";
}
@Log(title = "积分明细:列表")
@ApiOperation(value = "积分明细:列表",position = 2)
@ApiOperation(value = "积分明细:列表", position = 2)
@PostMapping("list")
@ResponseBody
public TableDataInfo list(StoneScoreListParam listParam) {
......@@ -58,7 +65,7 @@ public class StoneLogsController extends BaseController {
@Log(title = "积分明细:修改状态")
@PutMapping("change/status")
@ApiOperation(value = "积分明细:修改状态",position = 3)
@ApiOperation(value = "积分明细:修改状态", position = 3)
@ResponseBody
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "uid", value = "用户id"),
......@@ -71,7 +78,7 @@ public class StoneLogsController extends BaseController {
@Log(title = "积分明细:详情")
@GetMapping("details")
@ApiOperation(value = "积分明细:详情",position = 4)
@ApiOperation(value = "积分明细:详情", position = 4)
@ResponseBody
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "uid", value = "用户id"),
......@@ -80,4 +87,13 @@ public class StoneLogsController extends BaseController {
StoneUserScoreDetailVo result = iScoreService.userScoreDetail(uid);
return AjaxResult.success(result);
}
@Log(title = "积分明细:导出列表[根据uid]")
@PostMapping("list/export")
@ResponseBody
public AjaxResult export(String uidString) {
List<StoneScoreListExportDto> list = iScoreService.listExport(uidString.split(","));
ExcelUtil<StoneScoreListExportDto> util = new ExcelUtil(StoneScoreListExportDto.class);
return util.exportExcel(list, "积分导出");
}
}
package com.liquidnet.client.admin.zhengzai.stone.service;
import com.github.pagehelper.PageInfo;
import com.liquidnet.client.admin.zhengzai.stone.service.dto.StoneScoreListExportDto;
import com.liquidnet.client.admin.zhengzai.stone.service.vo.StoneUserScoreDetailVo;
import com.liquidnet.service.stone.dto.StoneScoreListDto;
import com.liquidnet.service.stone.param.StoneScoreListParam;
import java.util.ArrayList;
import java.util.List;
public interface IScoreService {
PageInfo<StoneScoreListDto> list(StoneScoreListParam param);
List<StoneScoreListExportDto> listExport(String[] uidList);
/**
* 修改 用户积分状态
*
* @param uid 用户ID
* @param status 状态[-999-全部|1-正常|2-冻结]
* @return
......@@ -19,6 +26,7 @@ public interface IScoreService {
/**
* 获取 用户积分 详情
*
* @param uid 用户ID
* @return
*/
......
package com.liquidnet.client.admin.zhengzai.stone.service.dto;
import com.liquidnet.client.admin.common.annotation.Excel;
import com.liquidnet.client.admin.zhengzai.kylin.dto.OrderExportVo;
import com.liquidnet.service.kylin.dao.OrderExportDao;
import com.liquidnet.service.stone.dto.StoneScoreListDto;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class StoneScoreListExportDto implements Cloneable {
/**
* 昵称
*/
@Excel(name = "昵称", cellType = Excel.ColumnType.STRING)
private String nickName;
/**
* 头像
*/
@Excel(name = "头像", cellType = Excel.ColumnType.STRING)
private String avatar;
/**
* 手机号
*/
@Excel(name = "手机号", cellType = Excel.ColumnType.STRING)
private String mobile;
/**
* 用户id
*/
@Excel(name = "用户id", cellType = Excel.ColumnType.STRING)
private String uid;
/**
* 状态[-999-全部|1-正常|2-冻结]
*/
@Excel(name = "状态[-999-全部|1-正常|2-冻结]", cellType = Excel.ColumnType.NUMERIC)
private Integer status;
/**
* 总积分
*/
@Excel(name = "总积分", cellType = Excel.ColumnType.NUMERIC)
private BigDecimal scoreAll;
/**
* 已用积分
*/
@Excel(name = "已用积分", cellType = Excel.ColumnType.NUMERIC)
private BigDecimal scoreUse;
/**
* 剩余积分
*/
@Excel(name = "剩余积分", cellType = Excel.ColumnType.NUMERIC)
private BigDecimal scoreRest;
/**
* 今日是否签到
*/
@Excel(name = "今日是否签到", cellType = Excel.ColumnType.NUMERIC)
private Integer signIn;
private static final StoneScoreListExportDto obj = new StoneScoreListExportDto();
public static StoneScoreListExportDto getNew() {
try {
return (StoneScoreListExportDto) obj.clone();
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
return new StoneScoreListExportDto();
}
public StoneScoreListExportDto copyExportVo(StoneScoreListDto source) {
this.setAvatar(source.getAvatar());
this.setMobile(source.getMobile());
this.setNickName(source.getNickName());
this.setScoreAll(source.getScoreAll());
this.setScoreRest(source.getScoreRest());
this.setScoreUse(source.getScoreUse());
this.setSignIn(source.getSignIn());
this.setUid(source.getUid());
this.setStatus(source.getStatus());
return this;
}
}
......@@ -2,11 +2,14 @@ package com.liquidnet.client.admin.zhengzai.stone.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.pagehelper.PageInfo;
import com.liquidnet.client.admin.zhengzai.kylin.dto.OrderExportVo;
import com.liquidnet.client.admin.zhengzai.stone.service.IScoreService;
import com.liquidnet.client.admin.zhengzai.stone.service.dto.StoneScoreListExportDto;
import com.liquidnet.client.admin.zhengzai.stone.service.utils.StoneMongoUtils;
import com.liquidnet.client.admin.zhengzai.stone.service.utils.StoneRedisUtils;
import com.liquidnet.client.admin.zhengzai.stone.service.vo.StoneUserScoreDetailVo;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.kylin.dao.OrderExportDao;
import com.liquidnet.service.stone.dto.StoneScoreListDto;
import com.liquidnet.service.stone.entity.StoneScoreLogs;
import com.liquidnet.service.stone.entity.StoneScoreUser;
......@@ -19,6 +22,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
......@@ -44,6 +48,16 @@ public class ScoreServiceImpl implements IScoreService {
return pageInfo;
}
@Override
public List<StoneScoreListExportDto> listExport(String[] uidList) {
List<StoneScoreListDto> list = stoneScoreUserMapper.listExport(uidList);
List<StoneScoreListExportDto> voList = new ArrayList();
for (StoneScoreListDto item :list){
voList.add(StoneScoreListExportDto.getNew().copyExportVo(item));
}
return voList;
}
@Override
public String changeStatus(String uid, Integer status) {
if (!(status == 1 || status == 2)) {
......
......@@ -4,6 +4,7 @@ import com.liquidnet.service.stone.dto.StoneScoreListDto;
import com.liquidnet.service.stone.param.StoneScoreListParam;
import com.liquidnet.service.stone.entity.StoneScoreUser;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
......@@ -19,4 +20,6 @@ public interface StoneScoreUserMapper extends BaseMapper<StoneScoreUser> {
List<StoneScoreListDto> list(StoneScoreListParam param);
List<StoneScoreListDto> listExport(@Param("uids")String[] uids);
}
......@@ -38,6 +38,11 @@ public class StoneTaskVo implements Serializable,Cloneable {
*/
private String taskTime;
/**
* 是否完成
*/
private Integer isFinish;
private static final StoneTaskVo obj = new StoneTaskVo();
public static StoneTaskVo getNew() {
try {
......
......@@ -8,6 +8,7 @@ import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
/**
......@@ -50,6 +51,7 @@ public class StoneUserVo implements Serializable, Cloneable {
}
private List<StoneTaskVo> initTask() {
task = new ArrayList();
String[] taskName = new String[]{
"签到", "购买演出票务", "购买商品", "在场划卡10次",
"关注摩登天空服务号", "完善个人信息", "完善个人照片", "打开消息通知", "首次体验在场"
......@@ -64,7 +66,8 @@ public class StoneUserVo implements Serializable, Cloneable {
vo.setTaskType(1);
}
vo.setTaskCount(0);
vo.setTaskTime("");
vo.setTaskTime("2020-12-01");
vo.setIsFinish(0);
task.add(vo);
}
return task;
......
......@@ -39,4 +39,29 @@
left join stone_score_logs sslog on sslog.uid = hu.uid
group by hu.uid;
</select>
<select id="listExport" parameterType="java.util.Map" resultMap="StoneScoreListDtoResult">
select hu.*,
(case when score <![CDATA[>]]> 0 then sum(score) else 0 END) as 'score_all',
(case when score <![CDATA[<]]> 0 then sum(score) else 0 END) as 'score_use',
('score_all' - 'score_use') as 'score_rest'
from (select nickname,
mobile,
au.uid,
IFNULL(ssu.status,1) as 'status'
from adam_user as au
inner join adam_user_info aui on au.uid = aui.uid
left join stone_score_user ssu on ssu.uid = aui.uid
<where>
au.uid IN
<foreach collection="uids" item="uid" index="index" open="(" close=")" separator=",">
'${uid}'
</foreach>
</where>
) as hu
left join stone_score_logs sslog on sslog.uid = hu.uid
group by hu.uid;
</select>
</mapper>
......@@ -6,6 +6,7 @@ import com.liquidnet.service.stone.dto.StoneScoreListDto;
import com.liquidnet.service.stone.service.IStoneScoreLogsService;
import com.liquidnet.service.stone.service.IStoneScoreUserService;
import com.liquidnet.service.stone.vo.StoneLogsListVo;
import com.liquidnet.service.stone.vo.StoneUserVo;
import io.swagger.annotations.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
......@@ -42,7 +43,7 @@ public class StoneUserController {
@ApiImplicitParam(type = "form", required = true, dataType = "Integer", name = "taskId", value = "任务ID[0-每日任务|1-每日任务:购买演出|2-每日任务:购买商品|3-每日任务:划卡|4-一次性任务:关注公众号|5-一次性任务:完善信息|6-一次性任务:完善头像|7-一次性任务:打开消息推送|8-一次性任务:体验在场]", example = ""),
})
public ResponseDto<String> task(@RequestParam(value = "taskId", required = true) Integer taskId) {
return stoneScoreLogsService.task(taskId);
return stoneScoreLogsService.doTask(taskId);
}
@GetMapping("logs/list")
......@@ -82,4 +83,11 @@ public class StoneUserController {
@RequestParam(value = "content", required = true) String content) {
return ResponseDto.success(stoneScoreLogsService.deScore(uid,score,2111,content));
}
@GetMapping("task/detail")
@ApiOperation("用户任务详情")
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<StoneUserVo> taskDetail() {
return stoneScoreLogsService.taskDetail();
}
}
......@@ -72,7 +72,7 @@ public class StoneScoreLogsServiceImpl implements IStoneScoreLogsService {
}
@Override
public ResponseDto<String> task(Integer taskId) {
public ResponseDto<String> doTask(Integer taskId) {
String uid = CurrentUtil.getCurrentUid();
StoneUserVo vo = stoneRedisUtils.getUserData(uid);
List<StoneTaskVo> taskList = vo.getTask();
......@@ -84,7 +84,7 @@ public class StoneScoreLogsServiceImpl implements IStoneScoreLogsService {
if (item.getTaskId().equals(taskId)) {
if (item.getTaskType().equals(1) && item.getTaskTime().equals(DateUtil.getNowTime(DateUtil.DATE_SMALL_STR))) {
return ResponseDto.failure("今日已完成");
} else if (item.getTaskType().equals(1) && item.getTaskCount() >= 1) {
} else if (item.getTaskType().equals(2) && item.getTaskCount() >= 1) {
return ResponseDto.failure("该任务已完成");
} else {
//记录完成任务
......@@ -117,6 +117,26 @@ public class StoneScoreLogsServiceImpl implements IStoneScoreLogsService {
return isIn ? ResponseDto.success("成功") : ResponseDto.failure("任务不存在");
}
@Override
public ResponseDto<StoneUserVo> taskDetail() {
String uid = CurrentUtil.getCurrentUid();
StoneUserVo vo = stoneRedisUtils.getUserData(uid);
List<StoneTaskVo> taskList = vo.getTask();
for (int i = 0; i < taskList.size(); i++) {
StoneTaskVo item = taskList.get(i);
if (item.getTaskType().equals(1) && item.getTaskTime().equals(DateUtil.getNowTime(DateUtil.DATE_SMALL_STR))) {
item.setIsFinish(1);
} else if (item.getTaskType().equals(2) && item.getTaskCount() >= 1) {
item.setIsFinish(1);
} else {
item.setIsFinish(0);
}
taskList.set(i, item);
}
vo.setTask(taskList);
return ResponseDto.success(vo);
}
@Override
public PageInfo<List<StoneLogsListVo>> logList(Integer page) {
String uid = CurrentUtil.getCurrentUid();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment