完成卡操作日志接口

This commit is contained in:
wen 2022-02-14 10:31:11 +08:00
parent 95b1e9f2f1
commit 06db1ee370
8 changed files with 281 additions and 0 deletions

View File

@ -149,5 +149,11 @@ public class XhpcCardController extends BaseController {
return xhpcCardService.reportTheLossOfCard(cardId);
}
@GetMapping("/operateCardLog")
public R<OperateCardLogResponse> operateCardLog(OperateCardLogRequest operateCardLogRequest) {
return xhpcCardService.operateCardLog(operateCardLogRequest);
}
}

View File

@ -0,0 +1,44 @@
package com.xhpc.card.domain;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* operateCardLog
*
* @author WH
* @date 2022/2/13 22:19
* @since version-1.0
*/
@NoArgsConstructor
@Data
public class OperateCardLogRequest {
/**
* operateType
*/
@JsonProperty("operateType")
private Integer operateType;
/**
* logStartTime
*/
@JsonProperty("logStartTime")
private String logStartTime;
/**
* logEndTime
*/
@JsonProperty("logEndTime")
private String logEndTime;
/**
* currentPage
*/
@JsonProperty("currentPage")
private Long currentPage;
/**
* items
*/
@JsonProperty("items")
private Long items;
}

View File

@ -0,0 +1,77 @@
package com.xhpc.card.domain;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* operateCardLog的响应数据包装类
*
* @author WH
* @date 2022/2/13 22:30
* @since version-1.0
*/
@NoArgsConstructor
@Data
public class OperateCardLogResponse {
/**
* totalItems
*/
@JsonProperty("totalItems")
private Long totalItems;
/**
* data
*/
@JsonProperty("data")
private List<DataDTO> data;
/**
* DataDTO
*/
@NoArgsConstructor
@Data
public static class DataDTO {
/**
* grantOperatorName
*/
@JsonProperty("grantOperatorName")
private String grantOperatorName;
/**
* cardSerialNumber
*/
@JsonProperty("cardSerialNumber")
private String cardSerialNumber;
/**
* operate
*/
@JsonProperty("operate")
private Integer operate;
/**
* cashPledge
*/
@JsonProperty("cashPledge")
private Long cashPledge;
/**
* balance
*/
@JsonProperty("balance")
private Long balance;
/**
* operatorName
*/
@JsonProperty("operatorName")
private String operatorName;
/**
* operateTime
*/
@JsonProperty("operateTime")
private String operateTime;
}
}

View File

@ -0,0 +1,40 @@
package com.xhpc.card.mapper;
import com.xhpc.card.domain.OperateCardLogRequest;
import com.xhpc.card.pojo.TIccardLog;
import java.util.List;
public interface TIccardLogMapper {
int deleteByPrimaryKey(Integer id);
int insert(TIccardLog record);
int insertSelective(TIccardLog record);
TIccardLog selectByPrimaryKey(Integer id);
int updateByPrimaryKeySelective(TIccardLog record);
int updateByPrimaryKey(TIccardLog record);
/**
* query list of log of operate card
*
* @author WH
* @date 2022/2/13 22:43
* @since version-1.0
*/
List<TIccardLog> selectByCondition(OperateCardLogRequest operateCardLogRequest);
/**
* query count of list of log of operate card
*
* @author WH
* @date 2022/2/13 23:11
* @since version-1.0
*/
Long selectCountByCondition(OperateCardLogRequest operateCardLogRequest);
}

View File

@ -0,0 +1,50 @@
package com.xhpc.card.pojo;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* t_iccard_log
*
* @author
*/
@Data
public class TIccardLog implements Serializable {
private Integer id;
/**
* 卡序列号, 用户身份证号, 读写卡器序列号
*/
private String uniqueid;
/**
* 日志类型0.用户卡; 1.读写卡器
*/
private Byte type;
/**
* 操作0.初始化, 1.发卡, 2.充值, 3.退费, 4.解锁, 5.挂失, 6.解除挂失, 7.重置密码, 8.作废卡, 9.添加读写卡器, 10.删除读写卡器
*/
private Byte operate;
/**
* 操作员ID, 关联t_users usersID
*/
private Integer operatorid;
/**
* 日志内容操作的序列化
*/
private String log;
/**
* 添加日期
*/
private Date createtime;
private static final long serialVersionUID = 1L;
}

View File

@ -119,4 +119,13 @@ public interface IXhpcCardService {
*/
R<Object> reportTheLossOfCard(Integer cardId);
/**
* query to operate log of card
*
* @author WH
* @date 2022/2/13 22:35
* @since version-1.0
*/
R<OperateCardLogResponse> operateCardLog(OperateCardLogRequest operateCardLogRequest);
}

View File

@ -5,6 +5,7 @@ import com.xhpc.card.domain.*;
import com.xhpc.card.mapper.*;
import com.xhpc.card.pojo.*;
import com.xhpc.card.service.IXhpcCardService;
import com.xhpc.card.utils.MyDateUtil;
import com.xhpc.card.utils.MyPagingUtil;
import com.xhpc.common.api.CardHistoryOrderService;
import com.xhpc.common.core.constant.Constants;
@ -450,6 +451,38 @@ public class XhpcCardServiceImpl implements IXhpcCardService {
return R.ok();
}
@Override
public R<OperateCardLogResponse> operateCardLog(OperateCardLogRequest operateCardLogRequest) {
//计算分页索引
long startIndex = MyPagingUtil.calculateStartIndex(operateCardLogRequest.getCurrentPage(), operateCardLogRequest.getItems());
operateCardLogRequest.setCurrentPage(startIndex);
OperateCardLogResponse operateCardLogResponse = new OperateCardLogResponse();
operateCardLogResponse.setData(new ArrayList<>());
List<TIccardLog> dataList = tIccardLogMapper.selectByCondition(operateCardLogRequest);
if (dataList.isEmpty()) {
return R.ok(operateCardLogResponse);
}
Long totalItems = tIccardLogMapper.selectCountByCondition(operateCardLogRequest);
operateCardLogResponse.setTotalItems(totalItems);
for (TIccardLog tIccardLog : dataList) {
OperateCardLogResponse.DataDTO dataDTO = new OperateCardLogResponse.DataDTO();
String log = tIccardLog.getLog();
CardLogInfo cardLogInfo = JSONUtil.toBean(log, CardLogInfo.class);
CardLogInfo.CardInfoDTO cardInfo = cardLogInfo.getCardInfo();
XhpcOperator operator = xhpcOperatorMapper.selectByPrimaryKey(Long.valueOf(cardInfo.getCorpNo()));
dataDTO.setGrantOperatorName(operator.getName());
dataDTO.setCardSerialNumber(tIccardLog.getUniqueid());
dataDTO.setOperate(Integer.valueOf(tIccardLog.getOperate()));
dataDTO.setCashPledge(Long.valueOf(cardInfo.getCashPledge()));
dataDTO.setBalance(Long.valueOf(cardInfo.getBalance()));
dataDTO.setOperateTime(MyDateUtil.parseDateToStr(tIccardLog.getCreatetime()));
XhpcOperator operator2 = xhpcOperatorMapper.selectByPrimaryKey(cardLogInfo.getOperatorId());
dataDTO.setOperatorName(operator2.getName());
operateCardLogResponse.getData().add(dataDTO);
}
return R.ok(operateCardLogResponse);
}
private void fillUserInfo(CardUserInfo cardUserInfo, Map<String, Object> userData) {
cardUserInfo.setCardSerialNumber((String) userData.get("cardID"));

View File

@ -1,7 +1,9 @@
package com.xhpc.card.utils;
import cn.hutool.core.date.DateTime;
import com.xhpc.common.core.utils.DateUtils;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
@ -16,12 +18,32 @@ import java.util.Date;
public class MyDateUtil {
public static final String DATE_FORMAT_DATE_TIME = "yyyy-MM-dd HH:mm:ss";
public static String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss";
public static void main(String[] args) {
System.out.println(getCurrentDateStr());
}
/**
* 对parseDateStr方法进行再次封装默认转换格式为YYYY_MM_DD_HH_MM_SS
*
* @param date 时间对象
* @return YYYY_MM_DD_HH_MM_SS格式的时间字符串
* @author WH
* @date 2021/12/27 13:21
* @since version-1.0
*/
public static final String parseDateToStr(final Date date) {
return parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, date);
}
public static final String parseDateToStr(final String format, final Date date) {
return new SimpleDateFormat(format).format(date);
}
/**
* 以xxxx年x月xx日 星期x的字符串格式展示当前时间
*