From f4fbb8d0c4eda9e20e5cec53a34228b636490ae0 Mon Sep 17 00:00:00 2001
From: "382696293@qq.com" <382696293@qq.com>
Date: Mon, 29 Jan 2024 19:50:45 +0800
Subject: [PATCH] =?UTF-8?q?=E7=94=A8=E6=88=B7=E6=89=93=E5=8D=A1=E5=8F=AA?=
=?UTF-8?q?=E4=BF=9D=E7=95=99=E4=B8=80=E6=9D=A1=E6=95=B0=E6=8D=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../common/core/mapper/WxClockImgMapper.java | 2 ++
.../resources/mapper/WxClockImgMapper.xml | 4 +++
.../resources/mapper/WxClockLogMapper.xml | 3 ++
.../service/impl/WxClockLogServiceImpl.java | 34 +++++++++++--------
4 files changed, 29 insertions(+), 14 deletions(-)
diff --git a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/WxClockImgMapper.java b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/WxClockImgMapper.java
index 48012a5..814ffd0 100644
--- a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/WxClockImgMapper.java
+++ b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/WxClockImgMapper.java
@@ -59,4 +59,6 @@ public interface WxClockImgMapper {
* @return 结果
*/
public int deleteWxClockImgByIds(Long[] ids);
+
+ void deleteByUserClockId(Long userClockId);
}
diff --git a/flossom-common/flossom-common-core/src/main/resources/mapper/WxClockImgMapper.xml b/flossom-common/flossom-common-core/src/main/resources/mapper/WxClockImgMapper.xml
index 59c5580..fb91985 100644
--- a/flossom-common/flossom-common-core/src/main/resources/mapper/WxClockImgMapper.xml
+++ b/flossom-common/flossom-common-core/src/main/resources/mapper/WxClockImgMapper.xml
@@ -65,6 +65,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
delete from wx_clock_img where id = #{id}
+
+ delete from wx_clock_img where user_clock_id = #{userClockId}
+
+
delete from wx_clock_img where id in
diff --git a/flossom-common/flossom-common-core/src/main/resources/mapper/WxClockLogMapper.xml b/flossom-common/flossom-common-core/src/main/resources/mapper/WxClockLogMapper.xml
index 7d77db9..1477ce2 100644
--- a/flossom-common/flossom-common-core/src/main/resources/mapper/WxClockLogMapper.xml
+++ b/flossom-common/flossom-common-core/src/main/resources/mapper/WxClockLogMapper.xml
@@ -51,6 +51,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+
+ SELECT LAST_INSERT_ID()
+
insert into wx_clock_log
user_id,
diff --git a/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/service/impl/WxClockLogServiceImpl.java b/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/service/impl/WxClockLogServiceImpl.java
index 16df5c3..b38fb80 100644
--- a/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/service/impl/WxClockLogServiceImpl.java
+++ b/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/service/impl/WxClockLogServiceImpl.java
@@ -46,21 +46,22 @@ public class WxClockLogServiceImpl implements IWxClockLogService {
WxUserMember wxUserMember = SecurityUtils.getLoginUser().getWxUserMember();
LocalDateTime now = LocalDateTime.now();
- // 首次打卡奖励
+ /* 查询当天是否有打卡 */
WxClockLog queryClockLog = new WxClockLog();
queryClockLog.setUserId(SecurityUtils.getLoginUser().getWxUserMember().getId());
queryClockLog.getParams().put("beginTime", LocalDateTime.of(now.toLocalDate(), LocalTime.MIN));
queryClockLog.getParams().put("endTime", LocalDateTime.of(now.toLocalDate(), LocalTime.MAX));
- Integer count = wxClockLogMapper.selectCountByUserId(queryClockLog);
- if (count == null || count == 0) {
+ List wxClockLogList = wxClockLogMapper.selectWxClockLogList(queryClockLog);
+ WxClockLog wxClockLog = new WxClockLog();
+ if (wxClockLogList != null && wxClockLogList.size() == 1) {
+ // 打卡记录一天只有一条
+ wxClockLog.setId(wxClockLogList.get(0).getId());
+ } else {
/**
* TODO:当天首次打卡奖励积分
*/
}
-
- // 打卡记录
- WxClockLog wxClockLog = new WxClockLog();
- BeanUtils.copyProperties(wxClockLogReq, wxClockLog);
+ wxClockLog.setClockContent(wxClockLogReq.getClockContent());
wxClockLog.setUserId(wxUserMember.getId());
wxClockLog.setCreateBy(wxUserMember.getNickname());
wxClockLog.setCreateTime(DateUtils.getNowDate());
@@ -85,10 +86,15 @@ public class WxClockLogServiceImpl implements IWxClockLogService {
.collect(Collectors.joining(","));
wxClockLog.setInstrumentName(instrumentNameList);
}
- wxClockLogMapper.insertWxClockLog(wxClockLog);
+ if (wxClockLog.getId() == null) {
+ wxClockLogMapper.insertWxClockLog(wxClockLog);
+ } else {
+ wxClockLogMapper.updateWxClockLog(wxClockLog);
+ }
- // 打卡图片
+ /* 先删除当天的打卡图片,保存打卡图片 */
if (wxClockLogReq.getClockImageList() != null && wxClockLogReq.getClockImageList().size() > 0) {
+ wxClockImgMapper.deleteByUserClockId(wxClockLog.getId());
for (String image : wxClockLogReq.getClockImageList()) {
WxClockImg wxClockImg = new WxClockImg();
wxClockImg.setUserClockId(wxClockLog.getId());
@@ -125,18 +131,18 @@ public class WxClockLogServiceImpl implements IWxClockLogService {
List wxClockLogList = wxClockLogMapper.selectWxClockLogList(queryClockLog);
if (wxClockLogList != null && wxClockLogList.size() > 0) {
// 直接获取最新的打卡记录
- WxClockLog saveClockLog = new WxClockLog();
+ WxClockLog updateClockLog = new WxClockLog();
WxClockLog newWxClockLog = wxClockLogList.get(0);
// 获取打卡记录的使用过的仪器ID
List usedList = Arrays.asList(newWxClockLog.getInstrumentId().split(",")).stream().map(Long::valueOf).collect(Collectors.toList());
if (!usedList.contains(instrumentId)) {
- saveClockLog.setInstrumentId(newWxClockLog.getInstrumentId() + "," + instrumentId);
+ updateClockLog.setInstrumentId(newWxClockLog.getInstrumentId() + "," + instrumentId);
WxInstrument instrument = wxInstrumentMapper.selectWxInstrumentById(instrumentId);
if (instrument != null) {
- saveClockLog.setInstrumentName(newWxClockLog.getInstrumentName() + "," + instrument.getName());
+ updateClockLog.setInstrumentName(newWxClockLog.getInstrumentName() + "," + instrument.getName());
}
- saveClockLog.setId(newWxClockLog.getId());
- wxClockLogMapper.updateWxClockLog(saveClockLog);
+ updateClockLog.setId(newWxClockLog.getId());
+ wxClockLogMapper.updateWxClockLog(updateClockLog);
}
}
}