|
|
@@ -1,10 +1,20 @@
|
|
|
package com.punchsettle.server.service.manager.impl;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
+import java.time.LocalTime;
|
|
|
import java.util.Objects;
|
|
|
|
|
|
+import com.punchsettle.server.common.constant.CommonEnableStatusEnum;
|
|
|
+import com.punchsettle.server.constant.PunchInExtraMethodEnum;
|
|
|
+import com.punchsettle.server.constant.PunchInMethodEnum;
|
|
|
+import com.punchsettle.server.constant.RepeatCategoryEnum;
|
|
|
import com.punchsettle.server.constant.UserCategoryEnum;
|
|
|
+import com.punchsettle.server.pojo.punchIn.PiTaskRequest;
|
|
|
+import com.punchsettle.server.pojo.reward.RewardRequest;
|
|
|
import com.punchsettle.server.service.manager.IAccountManager;
|
|
|
+import com.punchsettle.server.service.manager.IPunchInManager;
|
|
|
+import com.punchsettle.server.service.manager.IRewardManager;
|
|
|
+import com.punchsettle.server.utiis.SpringUtils;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.cache.CacheManager;
|
|
|
@@ -25,6 +35,7 @@ import cn.binarywang.wx.miniapp.api.WxMaService;
|
|
|
import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import me.chanjar.weixin.common.error.WxErrorException;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
/**
|
|
|
* @author tyuio
|
|
|
@@ -51,7 +62,13 @@ public class UserManagerImpl implements IUserManager {
|
|
|
@Autowired
|
|
|
private IAccountManager accountManager;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private IRewardManager rewardManager;
|
|
|
+
|
|
|
+ private static final LocalTime ZERO_TIME = LocalTime.parse("00:00:00.000");
|
|
|
+
|
|
|
@Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
public String login(LoginRequest request) throws WxErrorException {
|
|
|
// 微信登录
|
|
|
WxMaJscode2SessionResult wxMaJscode2SessionResult = wxMaService.jsCode2SessionInfo(request.getCode());
|
|
|
@@ -71,7 +88,13 @@ public class UserManagerImpl implements IUserManager {
|
|
|
user.setTotalConsumeAmount(BigDecimal.ZERO);
|
|
|
user.setTotalWinAmount(BigDecimal.ZERO);
|
|
|
userService.insert(user);
|
|
|
- accountManager.createBasicAccount(user.getId());
|
|
|
+
|
|
|
+ // 把用户信息设置如入上下文
|
|
|
+ UserUtils.setCurrentId(user.getId());
|
|
|
+ // 创建基本账户
|
|
|
+ accountManager.createBasicAccount();
|
|
|
+ //创建示例数据
|
|
|
+ createDemoData();
|
|
|
} else {
|
|
|
User updateUser = new User();
|
|
|
updateUser.setId(user.getId());
|
|
|
@@ -115,4 +138,29 @@ public class UserManagerImpl implements IUserManager {
|
|
|
public User getByIdWithCache(Long id) {
|
|
|
return userService.getById(id);
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 创建示例数据
|
|
|
+ */
|
|
|
+ private void createDemoData() {
|
|
|
+ PiTaskRequest taskRequest = new PiTaskRequest();
|
|
|
+ taskRequest.setTaskName("锻炼");
|
|
|
+ taskRequest.setDescription("每天锻炼20分钟");
|
|
|
+ taskRequest.setDisplayOrder(10);
|
|
|
+ taskRequest.setDisplayTime(ZERO_TIME);
|
|
|
+ taskRequest.setRepeatCategory(RepeatCategoryEnum.EVERYDAY);
|
|
|
+ taskRequest.setPunchInMethod(PunchInMethodEnum.SINGLE);
|
|
|
+ taskRequest.setExtraMethod(PunchInExtraMethodEnum.NONE);
|
|
|
+ taskRequest.setHolidayStatus(CommonEnableStatusEnum.DISABLED);
|
|
|
+ taskRequest.setFullAttendanceStatus(CommonEnableStatusEnum.DISABLED);
|
|
|
+ taskRequest.setContinueStatus(CommonEnableStatusEnum.DISABLED);
|
|
|
+ taskRequest.setAutoStatus(CommonEnableStatusEnum.DISABLED);
|
|
|
+ SpringUtils.getBean(IPunchInManager.class).saveTask(taskRequest);
|
|
|
+
|
|
|
+ RewardRequest request = new RewardRequest();
|
|
|
+ request.setRewardName("刮1次刮刮乐 ");
|
|
|
+ request.setAutoStatus(CommonEnableStatusEnum.DISABLED);
|
|
|
+ request.setExchangePoints(1);
|
|
|
+ rewardManager.saveReward(request);
|
|
|
+ }
|
|
|
}
|