diff --git a/flossom-common/flossom-common-core/pom.xml b/flossom-common/flossom-common-core/pom.xml
index df08981..85ed097 100644
--- a/flossom-common/flossom-common-core/pom.xml
+++ b/flossom-common/flossom-common-core/pom.xml
@@ -113,6 +113,11 @@
swagger-annotations
+
+
+ cn.hutool
+ hutool-core
+
diff --git a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/constant/IntegralChangTextConstants.java b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/constant/IntegralChangTextConstants.java
new file mode 100644
index 0000000..989b25b
--- /dev/null
+++ b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/constant/IntegralChangTextConstants.java
@@ -0,0 +1,26 @@
+package com.flossom.common.core.constant;
+
+public class IntegralChangTextConstants {
+
+ // 完善用户信息
+ public static final String COMPLETE_INFORMATION = "完善信息,获得奖励积分";
+
+ // 绑定仪器
+ public static final String BINDING_INSTRUMENT = "绑定成功,获得奖励积分";
+
+ // 日常打卡
+ public static final String DAILY_CLOCK = "打卡成功,获得奖励积分";
+
+ // 打卡活动打卡
+ public static final String CLOCK_ACTIVITY_CLOCK = "完成,获得奖励积分";
+
+ // 问卷活动打卡
+ public static final String QUESTIONNAIRE_ACTIVITY_CLOCK = "完成,获得奖励积分";
+
+ // 共创活动打卡
+ public static final String TOGETHER_ACTIVITY_CLOCK = "完成,获得奖励积分";
+
+ // 护理计划
+ public static final String NURSING_ACTIVITY_CLOCK = "完成,获得奖励积分";
+
+}
diff --git a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/constant/ShuYunConstants.java b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/constant/ShuYunConstants.java
deleted file mode 100644
index 2807d61..0000000
--- a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/constant/ShuYunConstants.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package com.flossom.common.core.constant;
-
-/**
- * 数云 常量
- */
-public class ShuYunConstants {
- /**
- * 平台内系统用户的唯一标志
- */
- public static final String POINT_SERIAL_NUMBER_PREFIX = "hz_serial_number-";
-
-}
diff --git a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/utils/uuid/IdUtils.java b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/utils/uuid/IdUtils.java
index 29acabf..500d50d 100644
--- a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/utils/uuid/IdUtils.java
+++ b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/utils/uuid/IdUtils.java
@@ -1,19 +1,23 @@
package com.flossom.common.core.utils.uuid;
+import cn.hutool.core.util.RandomUtil;
+import com.flossom.common.core.utils.DateUtils;
+
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+
/**
* ID生成器工具类
*
* @author flossom
*/
-public class IdUtils
-{
+public class IdUtils {
/**
* 获取随机UUID
*
* @return 随机UUID
*/
- public static String randomUUID()
- {
+ public static String randomUUID() {
return UUID.randomUUID().toString();
}
@@ -22,8 +26,7 @@ public class IdUtils
*
* @return 简化的UUID,去掉了横线
*/
- public static String simpleUUID()
- {
+ public static String simpleUUID() {
return UUID.randomUUID().toString(true);
}
@@ -32,8 +35,7 @@ public class IdUtils
*
* @return 随机UUID
*/
- public static String fastUUID()
- {
+ public static String fastUUID() {
return UUID.fastUUID().toString();
}
@@ -42,8 +44,16 @@ public class IdUtils
*
* @return 简化的UUID,去掉了横线
*/
- public static String fastSimpleUUID()
- {
+ public static String fastSimpleUUID() {
return UUID.fastUUID().toString(true);
}
+
+ /**
+ * 生成花至微信小程序 积分操作 序列号
+ *
+ * @return
+ */
+ public static String generateSequence() {
+ return "hz_serial_number-" + LocalDateTime.now().format(DateTimeFormatter.ofPattern(DateUtils.YYYYMMDDHHMMSSS)) + RandomUtil.randomInt(1000, 9999);
+ }
}
diff --git a/flossom-modules/flossom-mini-program/pom.xml b/flossom-modules/flossom-mini-program/pom.xml
index 3b54448..74bbd7b 100644
--- a/flossom-modules/flossom-mini-program/pom.xml
+++ b/flossom-modules/flossom-mini-program/pom.xml
@@ -110,11 +110,6 @@
system
${project.basedir}/src/main/resources/lib/open-platform-sdk-1.0.1.jar
-
-
- cn.hutool
- hutool-core
-
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 24826f4..1d6a542 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
@@ -1,14 +1,20 @@
package com.flossom.miniProgram.service.impl;
+import com.flossom.common.core.constant.IntegralChangTextConstants;
import com.flossom.common.core.domain.entity.*;
import com.flossom.common.core.domain.req.WxClockLogReq;
import com.flossom.common.core.domain.ret.WxClockLogRet;
+import com.flossom.common.core.domain.shuyun.ShuYunPointChange;
import com.flossom.common.core.enums.IntegralChangeTypeEnum;
+import com.flossom.common.core.enums.ShuYunPointSourceEnum;
import com.flossom.common.core.enums.Status;
import com.flossom.common.core.mapper.*;
import com.flossom.common.core.utils.DateUtils;
+import com.flossom.common.core.utils.uuid.IdUtils;
import com.flossom.common.security.utils.SecurityUtils;
import com.flossom.miniProgram.service.IWxClockLogService;
+import com.flossom.miniProgram.utils.shuyun.ShuYunApiUtils;
+import com.flossom.miniProgram.utils.shuyun.ShuYunConfig;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
@@ -23,6 +29,7 @@ import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.ZoneId;
+import java.time.format.DateTimeFormatter;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
@@ -63,6 +70,9 @@ public class WxClockLogServiceImpl implements IWxClockLogService {
@Value("${rank.clock.redisKey}")
private String CLOCK_RANK_REDIS_KEY;
+ @Autowired
+ private ShuYunConfig shuYunConfig;
+
@Override
@Transactional
@@ -77,10 +87,13 @@ public class WxClockLogServiceImpl implements IWxClockLogService {
queryClockLog.getParams().put("endTime", LocalDateTime.of(now.toLocalDate(), LocalTime.MAX));
List wxClockLogList = wxClockLogMapper.selectWxClockLogList(queryClockLog);
WxClockLog wxClockLog = new WxClockLog();
+ Boolean isFirstClock = false;
+ Integer firstClockCredit = 0;
if (wxClockLogList != null && wxClockLogList.size() == 1) {
// 打卡记录一天只有一条
wxClockLog.setId(wxClockLogList.get(0).getId());
} else {
+ isFirstClock = true;
IntegralClock integralClock = integralClockMapper.selectIntegralClockById(1L);
// 日常奖励加分
Long credit = integralClock.getDailyClockCredit();
@@ -93,6 +106,7 @@ public class WxClockLogServiceImpl implements IWxClockLogService {
}
}
if (credit != null && credit != 0) {
+ firstClockCredit = credit.intValue();
// 增加积分
WxUserMember query = wxUserMemberMapper.selectWxUserMemberById(wxUserMember.getId());
WxUserMember updateEntity = new WxUserMember();
@@ -113,11 +127,6 @@ public class WxClockLogServiceImpl implements IWxClockLogService {
wxUserIntegralLog.setCreateBy(SecurityUtils.getLoginUser().getWxUserMember().getNickname());
wxUserIntegralLog.setCreateTime(DateUtils.getNowDate());
wxUserIntegralLogMapper.insertWxUserIntegralLog(wxUserIntegralLog);
-
- /**
- * TODO:当天首次打卡奖励积分,同步数云
- */
-
}
}
wxClockLog.setClockContent(wxClockLogReq.getClockContent());
@@ -200,6 +209,16 @@ public class WxClockLogServiceImpl implements IWxClockLogService {
wxClockImgMapper.insertWxClockImg(wxClockImg);
}
}
+
+ if (isFirstClock && firstClockCredit != null && firstClockCredit > 0) {
+ /**
+ * TODO:当天首次打卡奖励积分,同步数云(已完成,未保存操作)
+ */
+ ShuYunPointChange shuYunPointChange = new ShuYunPointChange(wxUserMember.getUnionid(), shuYunConfig.getPlatCode(), shuYunConfig.getShopId(),
+ IdUtils.generateSequence(), ShuYunPointSourceEnum.OTHER.getSource(), firstClockCredit,
+ LocalDateTime.now().format(DateTimeFormatter.ofPattern(DateUtils.YYYY_MM_DD_HH_MM_SS)), IntegralChangTextConstants.DAILY_CLOCK);
+ ShuYunApiUtils.pointChange(shuYunPointChange);
+ }
}
@Override
diff --git a/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/service/impl/WxInstrumentServiceImpl.java b/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/service/impl/WxInstrumentServiceImpl.java
index 9ff0781..274c451 100644
--- a/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/service/impl/WxInstrumentServiceImpl.java
+++ b/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/service/impl/WxInstrumentServiceImpl.java
@@ -1,17 +1,22 @@
package com.flossom.miniProgram.service.impl;
import com.alibaba.fastjson.JSON;
+import com.flossom.common.core.constant.IntegralChangTextConstants;
import com.flossom.common.core.domain.entity.*;
import com.flossom.common.core.domain.ret.WxBindingInstrumentInfo;
import com.flossom.common.core.domain.ret.WxModeRet;
+import com.flossom.common.core.domain.shuyun.ShuYunPointChange;
import com.flossom.common.core.enums.*;
import com.flossom.common.core.exception.ServiceException;
import com.flossom.common.core.exception.ServiceReturnCodeException;
import com.flossom.common.core.mapper.*;
import com.flossom.common.core.utils.DateUtils;
import com.flossom.common.core.utils.StringUtils;
+import com.flossom.common.core.utils.uuid.IdUtils;
import com.flossom.common.security.utils.SecurityUtils;
import com.flossom.miniProgram.service.IWxInstrumentService;
+import com.flossom.miniProgram.utils.shuyun.ShuYunApiUtils;
+import com.flossom.miniProgram.utils.shuyun.ShuYunConfig;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
@@ -27,6 +32,7 @@ import java.time.Instant;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.ZoneId;
+import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoField;
import java.util.*;
import java.util.stream.Collectors;
@@ -90,6 +96,9 @@ public class WxInstrumentServiceImpl implements IWxInstrumentService {
@Autowired
private WxModeGearMapper wxModeGearMapper;
+ @Autowired
+ private ShuYunConfig shuYunConfig;
+
@Override
public List bindingInstrumentList() {
/* 绑定了的仪器 不受 "可见小程序标签/可见外部标签" 影响, 去除仪器隐藏的 */
@@ -318,8 +327,12 @@ public class WxInstrumentServiceImpl implements IWxInstrumentService {
logger.info("绑定成功,序列号:{},用户ID:{},用户名:{}", serial, wxUserMember.getId(), wxUserMember.getNickname());
/**
- * TODO: 仪器绑定与数云同步积分
+ * TODO: 仪器绑定与数云同步积分(已完成,未保存操作记录)
*/
+ ShuYunPointChange shuYunPointChange = new ShuYunPointChange(wxUserMember.getUnionid(), shuYunConfig.getPlatCode(), shuYunConfig.getShopId(),
+ IdUtils.generateSequence(), ShuYunPointSourceEnum.OTHER.getSource(), wxInstrument.getBindingCredit(),
+ LocalDateTime.now().format(DateTimeFormatter.ofPattern(DateUtils.YYYY_MM_DD_HH_MM_SS)), wxInstrument.getName() + IntegralChangTextConstants.BINDING_INSTRUMENT);
+ ShuYunApiUtils.pointChange(shuYunPointChange);
}
}
}
@@ -457,7 +470,7 @@ public class WxInstrumentServiceImpl implements IWxInstrumentService {
BeanUtils.copyProperties(wxMode, wxModeRet);
if (wxMode.getInstrumentType() == 2) {
// IOT仪器才可以设置模式时长
- if(wxMode.getModeTime() != null) {
+ if (wxMode.getModeTime() != null) {
wxModeRet.setModeTime(LocalTime.ofSecondOfDay(wxMode.getModeTime()));
}
}
diff --git a/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/service/impl/WxUserMemberServiceImpl.java b/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/service/impl/WxUserMemberServiceImpl.java
index c5a2ed7..bfa3a5b 100644
--- a/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/service/impl/WxUserMemberServiceImpl.java
+++ b/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/service/impl/WxUserMemberServiceImpl.java
@@ -1,10 +1,9 @@
package com.flossom.miniProgram.service.impl;
-import cn.hutool.core.util.RandomUtil;
import com.alibaba.fastjson.JSON;
import com.flossom.common.core.constant.CacheConstants;
import com.flossom.common.core.constant.HttpStatus;
-import com.flossom.common.core.constant.ShuYunConstants;
+import com.flossom.common.core.constant.IntegralChangTextConstants;
import com.flossom.common.core.constant.UserConstants;
import com.flossom.common.core.domain.R;
import com.flossom.common.core.domain.entity.*;
@@ -18,6 +17,7 @@ import com.flossom.common.core.exception.ServiceException;
import com.flossom.common.core.mapper.*;
import com.flossom.common.core.utils.DateUtils;
import com.flossom.common.core.utils.StringUtils;
+import com.flossom.common.core.utils.uuid.IdUtils;
import com.flossom.common.redis.service.RedisService;
import com.flossom.common.security.utils.SecurityUtils;
import com.flossom.miniProgram.domain.vo.*;
@@ -36,9 +36,7 @@ import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
-import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
-import java.time.temporal.TemporalAdjusters;
import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit;
@@ -265,10 +263,9 @@ public class WxUserMemberServiceImpl implements IWxUserMemberService {
loginUserVo.setIntegralText("您已完善个人信息,获得" + integralGlobal.getIntegral().intValue() + "积分");
// TODO: 3、首次完善,通知数云增加积分 (已完成,未保存记录)
// 2、完善会员信息增加积分
- String sequence = ShuYunConstants.POINT_SERIAL_NUMBER_PREFIX + LocalDateTime.now().format(DateTimeFormatter.ofPattern(DateUtils.YYYYMMDDHHMMSSS)) + RandomUtil.randomInt(1000, 9999);
ShuYunPointChange shuYunPointChange = new ShuYunPointChange(wxUserMember.getUnionid(), shuYunConfig.getPlatCode(), shuYunConfig.getShopId(),
- sequence, ShuYunPointSourceEnum.OTHER.getSource(), integralGlobal.getIntegral().intValue(),
- LocalDateTime.now().format(DateTimeFormatter.ofPattern(DateUtils.YYYY_MM_DD_HH_MM_SS)), "首次完善用户信息");
+ IdUtils.generateSequence(), ShuYunPointSourceEnum.OTHER.getSource(), integralGlobal.getIntegral().intValue(),
+ LocalDateTime.now().format(DateTimeFormatter.ofPattern(DateUtils.YYYY_MM_DD_HH_MM_SS)), IntegralChangTextConstants.COMPLETE_INFORMATION);
ShuYunApiUtils.pointChange(shuYunPointChange);
}
return loginUserVo;
diff --git a/flossom-modules/flossom-system/pom.xml b/flossom-modules/flossom-system/pom.xml
index 6536d3d..9910b41 100644
--- a/flossom-modules/flossom-system/pom.xml
+++ b/flossom-modules/flossom-system/pom.xml
@@ -108,11 +108,6 @@
system
${project.basedir}/src/main/resources/lib/open-platform-sdk-1.0.1.jar
-
-
- cn.hutool
- hutool-core
-