提交 09a2ba4c 作者: xiaowang

Merge branch 'develop'

package com.mmc.iuav.user.model.dto.signin;
import com.mmc.iuav.user.model.vo.signin.UserContinuousCheckInVO;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.Min;
import java.util.List;
/**
* @Author small
* @Date 2023/10/13 10:57
* @Version 1.0
*/
@AllArgsConstructor
@NoArgsConstructor
@Data
@Builder
public class SignInDTO {
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "是否启用",example = "true 启用 false 不启用")
private Boolean status;
@ApiModelProperty(value = "签到周期",example = "7")
@Min(value = 7,message = "最小是7")
private Integer period;
@ApiModelProperty(value = "每日签到赠送奖励积分",example = "5")
private Integer integral;
@ApiModelProperty(value = "连续签到信息")
private List<UserContinuousCheckInVO> userContinuousCheckInVO;
}
package com.mmc.iuav.user.model.vo.signin;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @Author small
* @Date 2023/10/13 11:05
* @Version 1.0
*/
@AllArgsConstructor
@NoArgsConstructor
@Data
public class AppSignInVO {
@ApiModelProperty(value = "",hidden = true)
private Integer id;
@ApiModelProperty(value = "用户id",example = "1",hidden = true)
private Integer userAccountId;
@ApiModelProperty(hidden = true)
private Integer signInDays;
@ApiModelProperty(value = "签到时间",example = "2023-10-13")
private String signTime;
}
package com.mmc.iuav.user.model.vo.signin;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.cglib.core.TinyBitSet;
import javax.validation.constraints.Min;
import java.util.List;
/**
* @Author small
* @Date 2023/10/13 9:38
* @Version 1.0
*/
@AllArgsConstructor
@NoArgsConstructor
@Data
public class SignInVO {
@ApiModelProperty(value = "修改是需要传id",example = "2")
private Integer id;
@ApiModelProperty(value = "是否启用",example = "true 启用 false 不启用")
private Boolean status;
@ApiModelProperty(value = "签到周期",example = "7")
@Min(value = 7,message = "最小是7")
private Integer period;
@ApiModelProperty(value = "每日签到赠送奖励积分",example = "5")
private Integer integral;
@ApiModelProperty(value = "连续签到信息")
private List<UserContinuousCheckInVO> userContinuousCheckInVO;
}
package com.mmc.iuav.user.model.vo.signin;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @Author small
* @Date 2023/10/13 9:47
* @Version 1.0
*/
@AllArgsConstructor
@NoArgsConstructor
@Data
public class UserContinuousCheckInVO {
@ApiModelProperty(value = "id",hidden = true)
private Integer signInId;
@ApiModelProperty(value = "连续签到天数",example = "2")
private Integer numberOfDays;
@ApiModelProperty(value = "奖励积分",example = "1")
private Integer bonusPoints;
@ApiModelProperty(value = "id",hidden = true)
private Integer id;
}
package com.mmc.iuav.user.model.vo.userpoints;
import com.mmc.iuav.group.Update;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* @author: zj
* @Date: 2023/10/13 14:17
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ChangeUserPointVO implements Serializable {
private static final long serialVersionUID = -1481188328848093579L;
@ApiModelProperty(value = "用户id", example = "1")
@NotNull(message = "用户id不能为空", groups = {Update.class})
private Integer userAccountId;
@ApiModelProperty(value = "变动类型", example = "1")
private Integer changeType;
@ApiModelProperty(value = "变动积分, 正加负减", example = "1")
@NotNull(message = "变动积分不能为空", groups = {Update.class})
private Integer changePoint;
}
package com.mmc.iuav.user.model.vo.userpoints;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author: zj
* @Date: 2023/10/13 16:16
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class PointTypeVO implements Serializable {
private static final long serialVersionUID = -7296558551308366207L;
private Integer code;
private String message;
}
......@@ -29,7 +29,7 @@ public class PayUavWalletVO implements Serializable {
@ApiModelProperty(value = "佣金")
private BigDecimal salaryAmount;
@ApiModelProperty(value = "订单状态 100:订单支付 1400:商城订单退款 1500:订单提成 999:确认收货 1600:租赁押金退回", required = true)
@ApiModelProperty(value = "订单状态 100:订单支付 1400:商城订单退款 1500:订单提成 999:确认收货 1600:租赁押金退回 1700:租赁订单退回", required = true)
private Integer orderStatus;
@ApiModelProperty(value = "订单备注")
......
package com.mmc.iuav.user.controller.signin;
import com.mmc.iuav.response.ResultBody;
import com.mmc.iuav.user.controller.BaseController;
import com.mmc.iuav.user.entity.signin.SignInDO;
import com.mmc.iuav.user.entity.signin.SignInRecordDO;
import com.mmc.iuav.user.model.dto.signin.SignInDTO;
import com.mmc.iuav.user.model.vo.signin.AppSignInVO;
import com.mmc.iuav.user.model.vo.signin.SignInVO;
import com.mmc.iuav.user.service.signin.SignInService;
import io.jsonwebtoken.SigningKeyResolver;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.util.Base64;
import java.util.List;
/**
* @Author small
* @Date 2023/10/13 9:32
* @Version 1.0
*/
@RestController
@Api(tags = "签到")
public class SignInController extends BaseController {
@Autowired
private SignInService signInService;
@ApiOperation("后台——签到调整")
@PostMapping("/insertSignIn")
public ResultBody SignIn(@RequestBody SignInVO signInVO, HttpServletRequest request){
return signInService.SignIn(signInVO);
}
@ApiOperation("小程序签到列表")
@GetMapping("/SignInList")
public ResultBody<SignInDTO> SignInList(HttpServletRequest request){
List<SignInDTO> signInDOS = signInService.SignInList();
return ResultBody.success(signInDOS);
}
@ApiOperation("小程序签到")
@PostMapping("/appSignIn")
public ResultBody appSignIn(HttpServletRequest request, @RequestBody AppSignInVO appSignInVO){
Integer userAccountId = this.getUserLoginInfoFromRedis(request).getUserAccountId();
appSignInVO.setUserAccountId(userAccountId);
return signInService.appSignIn(appSignInVO);
}
@ApiOperation("小程序签到记录")
@GetMapping("/signInRecord")
public ResultBody<SignInRecordDO> signInRecord(HttpServletRequest request){
Integer userAccountId = this.getUserLoginInfoFromRedis(request).getUserAccountId();
return ResultBody.success(signInService.signInRecord(userAccountId));
}
}
package com.mmc.iuav.user.controller.userpoints;
import com.mmc.iuav.group.Page;
import com.mmc.iuav.group.Update;
import com.mmc.iuav.response.ResultBody;
import com.mmc.iuav.user.controller.BaseController;
import com.mmc.iuav.user.model.dto.dronepilot.PilotCertificationDTO;
......@@ -9,6 +10,7 @@ import com.mmc.iuav.user.model.dto.userpoints.UserPointsDetailsDTO;
import com.mmc.iuav.user.model.qo.userpoints.AppPointsDetailsQO;
import com.mmc.iuav.user.model.qo.userpoints.UserPointQO;
import com.mmc.iuav.user.model.qo.userpoints.UserPointsDetailsQO;
import com.mmc.iuav.user.model.vo.userpoints.ChangeUserPointVO;
import com.mmc.iuav.user.service.userpoints.UserPointsService;
import io.swagger.annotations.*;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -57,5 +59,19 @@ public class UserPointsController extends BaseController {
return ResultBody.success(userPointsService.appDetailPoint(this.getUserLoginInfoFromRedis(request).getUserAccountId(), param));
}
@ApiOperation(value = "用户积分变更")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("/change")
public ResultBody change(@Validated(value = {Update.class}) @RequestBody ChangeUserPointVO changePoint) {
return userPointsService.change(changePoint);
}
@ApiOperation(value = "积分变更类型")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("/listChangeType")
public ResultBody listChangeType() {
return userPointsService.listChangeType();
}
}
......@@ -9,7 +9,11 @@ package com.mmc.iuav.user.controller.userpoints.config;
public enum UserPointsEnum {
REGISTER(0, "注册"),
REAL_NAME_AUTHENTICATION(1, "实名认证"),
PILOT_CERTIFICATION(2, "飞手认证");
PILOT_CERTIFICATION(2, "飞手认证"),
TOPIC_REWARD(3, "发布话题奖励"),
SIGN_IN_REWARD(4, "签到"),
OTHER_CHANGE(5, "其他变动"),
USER_USE(6, "使用");
private int code;
private String message;
......
package com.mmc.iuav.user.dao.signin;
import com.mmc.iuav.user.entity.signin.SignInDO;
import com.mmc.iuav.user.entity.signin.SignInRecordDO;
import com.mmc.iuav.user.entity.signin.UserAppSignInDO;
import com.mmc.iuav.user.model.vo.signin.AppSignInVO;
import com.mmc.iuav.user.model.vo.signin.SignInVO;
import com.mmc.iuav.user.model.vo.signin.UserContinuousCheckInVO;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* @Author small
* @Date 2023/10/13 9:35
* @Version 1.0
*/
@Mapper
public interface SignInDao {
void SignIn(SignInDO signInDO);
void CheckIn(UserContinuousCheckInVO continuousCheckInVO);
int update(SignInDO signInDO);
void remove(Integer id);
List<SignInDO> SignInList();
UserAppSignInDO selectUserAppSignIn(AppSignInVO appSignInVO);
void userAppSignIn(AppSignInVO appSignInVO);
void updateUserAppSignIn(AppSignInVO appSignInVO);
void deleteSignInRecord(AppSignInVO appSignInVO);
void insertSignInRecord(AppSignInVO appSignInVO);
void updateUserAppSignInD(AppSignInVO appSignInVO);
List<SignInRecordDO> signInRecord(Integer userAccountId);
}
package com.mmc.iuav.user.entity.signin;
import com.mmc.iuav.user.model.dto.signin.SignInDTO;
import com.mmc.iuav.user.model.vo.signin.SignInVO;
import com.mmc.iuav.user.model.vo.signin.UserContinuousCheckInVO;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.Min;
import java.util.List;
/**
* @Author small
* @Date 2023/10/13 9:51
* @Version 1.0
*/
@AllArgsConstructor
@NoArgsConstructor
@Data
public class SignInDO {
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "是否启用",example = "true 启用 false 不启用")
private Boolean status;
@ApiModelProperty(value = "签到周期",example = "7")
@Min(value = 7,message = "最小是7")
private Integer period;
@ApiModelProperty(value = "每日签到赠送奖励积分",example = "5")
private Integer integral;
@ApiModelProperty(value = "连续签到信息")
private List<UserContinuousCheckInVO> userContinuousCheckInVO;
public SignInDO(SignInVO signInVO){
this.id=signInVO.getId();
this.status=signInVO.getStatus();
this.period= signInVO.getPeriod();
this.integral= signInVO.getIntegral();
this.userContinuousCheckInVO=signInVO.getUserContinuousCheckInVO();
}
public SignInDTO buildSignInDTO(){
return SignInDTO.builder()
.id(this.id)
.integral(this.integral)
.period(this.period)
.status(this.status)
.userContinuousCheckInVO(userContinuousCheckInVO)
.build();
}
}
package com.mmc.iuav.user.entity.signin;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @Author small
* @Date 2023/10/16 9:34
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class SignInRecordDO {
@ApiModelProperty(value = "签到用户")
private Integer userAccountId;
@ApiModelProperty(value = "签到时间")
private String signInTime;
}
package com.mmc.iuav.user.entity.signin;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @Author small
* @Date 2023/10/13 11:32
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class UserAppSignInDO {
@ApiModelProperty(value = "上一次签到时间")
private String signTime;
@ApiModelProperty(value = "签到天数")
private Integer signInDays;
@ApiModelProperty(value = "签到用户")
private Integer userAccountId;
}
......@@ -19,7 +19,10 @@ public enum PayMethodEnums {
USER_TOP_UP(1100, "充值"),
PAY_UAV_ORDER_REFUND(1400, "商城订单退款"),
ORDER_INCOME(1500, "订单收益"),
GIVE_BACK_PLEDGE(1600, "租赁押金退回");
GIVE_BACK_PLEDGE(1600, "租赁押金退回"),
LEASE_ORDER_REFUND(1700, "租赁订单退款"),
COMPENSATION(1800, "押金赔损"),
;
PayMethodEnums(Integer code, String method) {
this.code = code;
......
package com.mmc.iuav.user.service.signin;
import com.mmc.iuav.response.ResultBody;
import com.mmc.iuav.user.entity.signin.SignInDO;
import com.mmc.iuav.user.entity.signin.SignInRecordDO;
import com.mmc.iuav.user.model.dto.signin.SignInDTO;
import com.mmc.iuav.user.model.vo.signin.AppSignInVO;
import com.mmc.iuav.user.model.vo.signin.SignInVO;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @Author small
* @Date 2023/10/13 9:34
* @Version 1.0
*/
public interface SignInService {
ResultBody SignIn(SignInVO signInVO);
List<SignInDTO> SignInList();
ResultBody appSignIn(AppSignInVO appSignInVO);
List<SignInRecordDO> signInRecord(Integer userAccountId);
}
package com.mmc.iuav.user.service.signin.impl;
import com.mmc.iuav.response.ResultBody;
import com.mmc.iuav.user.dao.signin.SignInDao;
import com.mmc.iuav.user.entity.signin.SignInDO;
import com.mmc.iuav.user.entity.signin.SignInRecordDO;
import com.mmc.iuav.user.entity.signin.UserAppSignInDO;
import com.mmc.iuav.user.model.dto.signin.SignInDTO;
import com.mmc.iuav.user.model.vo.signin.AppSignInVO;
import com.mmc.iuav.user.model.vo.signin.SignInVO;
import com.mmc.iuav.user.model.vo.signin.UserContinuousCheckInVO;
import com.mmc.iuav.user.model.vo.userpoints.ChangeUserPointVO;
import com.mmc.iuav.user.service.signin.SignInService;
import com.mmc.iuav.user.service.userpoints.impl.UserPointsServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
/**
* @Author small
* @Date 2023/10/13 9:34
* @Version 1.0
*/
@Service
public class SignInServiceImpl implements SignInService {
@Autowired
private SignInDao signInDao;
@Autowired
private UserPointsServiceImpl userPointsService;
@Override
public ResultBody SignIn(SignInVO signInVO) {
SignInDO signInDO = new SignInDO(signInVO);
if (signInDO.getId()!=null){
int update = signInDao.update(signInDO);
signInDao.remove(signInDO.getId());
List<UserContinuousCheckInVO> userContinuousCheckInVO = signInDO.getUserContinuousCheckInVO();
for (UserContinuousCheckInVO continuousCheckInVO : userContinuousCheckInVO) {
continuousCheckInVO.setSignInId(signInDO.getId());
signInDao.CheckIn(continuousCheckInVO);
}
}else if(signInDO.getId()==null){
signInDao.SignIn(signInDO);
List<UserContinuousCheckInVO> userContinuousCheckInVO = signInDO.getUserContinuousCheckInVO();
for (UserContinuousCheckInVO continuousCheckInVO : userContinuousCheckInVO) {
continuousCheckInVO.setSignInId(signInDO.getId());
signInDao.CheckIn(continuousCheckInVO);
}
}
return ResultBody.success();
}
@Override
public List<SignInDTO> SignInList() {
List<SignInDO> signInDO= signInDao.SignInList();
List<SignInDTO> collect = signInDO.stream().map(SignInDO::buildSignInDTO).collect(Collectors.toList());
return collect;
}
@Override
public ResultBody appSignIn(AppSignInVO appSignInVO) {
UserAppSignInDO userAppSignInDO = signInDao.selectUserAppSignIn(appSignInVO);
List<SignInDO> signInDOS = signInDao.SignInList();
ChangeUserPointVO changeUserPointVO = new ChangeUserPointVO();
changeUserPointVO.setUserAccountId(appSignInVO.getUserAccountId());
changeUserPointVO.setChangeType(4);
if (userAppSignInDO==null){
signInDao.userAppSignIn(appSignInVO);
signInDao.insertSignInRecord(appSignInVO);
for (SignInDO signInDO : signInDOS) {
Integer integral = signInDO.getIntegral();
changeUserPointVO.setChangePoint(integral);
}
userPointsService.change(changeUserPointVO);
}
if (userAppSignInDO!=null){
try {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
long time = dateFormat.parse(userAppSignInDO.getSignTime()).getTime();
long time1 = dateFormat.parse(appSignInVO.getSignTime()).getTime();
long l =(time1-time)/(24*60*60*1000);
if (l>1){
signInDao.deleteSignInRecord(appSignInVO);
signInDao.updateUserAppSignInD(appSignInVO);
signInDao.insertSignInRecord(appSignInVO);
for (SignInDO signInDO : signInDOS) {
changeUserPointVO.setChangePoint(signInDO.getIntegral());
}
userPointsService.change(changeUserPointVO);
}else if(l==1){
signInDao.updateUserAppSignIn(appSignInVO);
signInDao.insertSignInRecord(appSignInVO);
UserAppSignInDO userAppSignInDO1 = signInDao.selectUserAppSignIn(appSignInVO);
int allPoints=0;
for (SignInDO signInDO : signInDOS) {
Integer integral = signInDO.getIntegral();
List<UserContinuousCheckInVO> userContinuousCheckInVO = signInDO.getUserContinuousCheckInVO();
for (UserContinuousCheckInVO continuousCheckInVO : userContinuousCheckInVO) {
if (continuousCheckInVO.getNumberOfDays().equals(userAppSignInDO1.getSignInDays())){
int bonusPoints = continuousCheckInVO.getBonusPoints();
allPoints=integral+bonusPoints;
changeUserPointVO.setChangePoint(allPoints);
}else if (!continuousCheckInVO.getNumberOfDays().equals(userAppSignInDO1.getSignInDays())){
changeUserPointVO.setChangePoint(integral);
}
}
}
userPointsService.change(changeUserPointVO);
}
} catch (ParseException e) {
e.printStackTrace();
}
}
return ResultBody.success();
}
@Override
public List<SignInRecordDO> signInRecord(Integer userAccountId) {
List<SignInRecordDO> signInRecordDOS= signInDao.signInRecord(userAccountId);
return signInRecordDOS;
}
}
package com.mmc.iuav.user.service.userpoints;
import com.mmc.iuav.page.PageResult;
import com.mmc.iuav.response.ResultBody;
import com.mmc.iuav.user.model.qo.userpoints.AppPointsDetailsQO;
import com.mmc.iuav.user.model.qo.userpoints.UserPointQO;
import com.mmc.iuav.user.model.qo.userpoints.UserPointsDetailsQO;
import com.mmc.iuav.user.model.vo.userpoints.ChangeUserPointVO;
/**
* @Author small
......@@ -16,4 +18,8 @@ public interface UserPointsService {
PageResult detailPoint(UserPointsDetailsQO param);
PageResult appDetailPoint(Integer userAccountId, AppPointsDetailsQO param);
ResultBody change(ChangeUserPointVO changePoint);
ResultBody listChangeType();
}
package com.mmc.iuav.user.service.userpoints.impl;
import com.mmc.iuav.page.PageResult;
import com.mmc.iuav.response.ResultBody;
import com.mmc.iuav.user.controller.userpoints.config.UserPointsEnum;
import com.mmc.iuav.user.dao.userpoints.UserPointsDao;
import com.mmc.iuav.user.dao.userpoints.UserPointsDetailsDao;
import com.mmc.iuav.user.entity.userpoints.UserPointsDO;
......@@ -10,10 +12,14 @@ import com.mmc.iuav.user.model.dto.userpoints.UserPointsDetailsDTO;
import com.mmc.iuav.user.model.qo.userpoints.AppPointsDetailsQO;
import com.mmc.iuav.user.model.qo.userpoints.UserPointQO;
import com.mmc.iuav.user.model.qo.userpoints.UserPointsDetailsQO;
import com.mmc.iuav.user.model.vo.userpoints.ChangeUserPointVO;
import com.mmc.iuav.user.model.vo.userpoints.PointTypeVO;
import com.mmc.iuav.user.service.userpoints.UserPointsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
......@@ -71,4 +77,33 @@ public class UserPointsServiceImpl implements UserPointsService {
List<UserPointsDetailsDTO> collect = userPointsDetails.stream().map(UserPointsDetails::buildPoint).collect(Collectors.toList());
return PageResult.buildPage(pageNo, param.getPageSize(), count, collect);
}
@Transactional
@Override
public ResultBody change(ChangeUserPointVO changePoint) {
UserPointsDO userPointsDO = userPointsDao.selectUserPoints(changePoint.getUserAccountId());
userPointsDO.setTotalPoints(userPointsDO.getTotalPoints() + changePoint.getChangePoint());
// 修改用户积分
userPointsDao.updatePoints(userPointsDO);
// 添加记录
UserPointsDetails userPointsDetails = new UserPointsDetails();
userPointsDetails.setUserAccountId(changePoint.getUserAccountId());
userPointsDetails.setPoint(changePoint.getChangePoint());
// 根据不同变动
userPointsDetails.setPointSource(UserPointsEnum.match(changePoint.getChangeType()).getMessage());
userPointsDetailsDao.insertPointsDetails(userPointsDetails);
return ResultBody.success();
}
@Override
public ResultBody listChangeType() {
List<PointTypeVO> types = new ArrayList<PointTypeVO>();
for (UserPointsEnum pointsEnum : UserPointsEnum.values()) {
PointTypeVO pointTypeVO = new PointTypeVO();
pointTypeVO.setCode(pointsEnum.getCode());
pointTypeVO.setMessage(pointsEnum.getMessage());
types.add(pointTypeVO);
}
return ResultBody.success(types);
}
}
......@@ -618,15 +618,29 @@ public class PayWalletServiceImpl implements PayWalletService {
return handlePublishOrder(payUavWalletVO, userWalletInfo, payLogDO, payWalletDO);
} else if (orderStatus.equals(PayMethodEnums.PAY_UAV_ORDER_REFUND.getCode())) {
return handleOrderRefund(payUavWalletVO, userWalletInfo, payLogDO, payWalletDO);
} else if (orderStatus.equals(PayMethodEnums.ORDER_INCOME.getCode())) {
} else if (orderStatus.equals(PayMethodEnums.ORDER_INCOME.getCode()) || orderStatus.equals(PayMethodEnums.COMPENSATION.getCode())) {
return handleOrderIncome(payUavWalletVO, userWalletInfo, payLogDO, payWalletDO);
} else if (orderStatus.equals(PayMethodEnums.GIVE_BACK_PLEDGE.getCode())) {
return handleGiveBackPledge(payUavWalletVO, userWalletInfo, payLogDO, payWalletDO);
} else if (orderStatus.equals(PayMethodEnums.LEASE_ORDER_REFUND.getCode())) {
return handleLeaseOrderRefund(payUavWalletVO, userWalletInfo, payLogDO, payWalletDO);
} else {
return handleConfirmReceipt(payUavWalletVO, userWalletInfo, payLogDO, payWalletDO);
}
}
private ResultBody handleLeaseOrderRefund(PayUavWalletVO payUavWalletVO, PayWalletDO userWalletInfo, PayLogDO payLogDO, PayWalletDO payWalletDO) {
payLogDO.setCashAmtPaid(payUavWalletVO.getCashAmount());
payLogDO.setSalaryAmtPaid(payUavWalletVO.getSalaryAmount());
payLogDO.setPayMethod(payUavWalletVO.getOrderStatus());
// 如果是1700 租赁订单退款
payWalletDO.setCashAmt(userWalletInfo.getCashAmt().add(payUavWalletVO.getCashAmount()));
payWalletDO.setSalaryAmt(userWalletInfo.getSalaryAmt().add(payUavWalletVO.getSalaryAmount()));
payWalletDao.insertPayLogDO(payLogDO);
payWalletDao.updatePayWallet(payWalletDO);
return ResultBody.success();
}
@Transactional(rollbackFor = Exception.class)
ResultBody handleGiveBackPledge(PayUavWalletVO payUavWalletVO, PayWalletDO userWalletInfo, PayLogDO payLogDO, PayWalletDO payWalletDO) {
payLogDO.setPayMethod(payUavWalletVO.getOrderStatus());
......@@ -688,6 +702,7 @@ public class PayWalletServiceImpl implements PayWalletService {
@Transactional(rollbackFor = Exception.class)
public ResultBody handleOrderIncome(PayUavWalletVO payUavWalletVO, PayWalletDO userWalletInfo, PayLogDO payLogDO, PayWalletDO payWalletDO) {
payLogDO.setPayMethod(payUavWalletVO.getOrderStatus());
payLogDO.setRemark(payUavWalletVO.getRemark());
payLogDO.setCashAmtPaid(BigDecimal.ZERO);
payLogDO.setSalaryAmtPaid(payUavWalletVO.getSalaryAmount());
// 订单收益
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mmc.iuav.user.dao.signin.SignInDao">
<resultMap id="signInList" type="com.mmc.iuav.user.entity.signin.SignInDO">
<result property="id" column="id"/>
<result property="status" column="status"/>
<result property="integral" column="integral"/>
<result property="period" column="period"/>
<collection property="userContinuousCheckInVO" ofType="com.mmc.iuav.user.model.vo.signin.UserContinuousCheckInVO"
select="continuousCheckIn" column="{signInId=id}">
</collection>
</resultMap>
<select id="continuousCheckIn" resultType="com.mmc.iuav.user.model.vo.signin.UserContinuousCheckInVO">
select id,sign_in_id,number_of_days,bonus_points from user_continuous_check_in where sign_in_id=#{signInId}
</select>
<insert id="SignIn" parameterType="com.mmc.iuav.user.entity.signin.SignInDO" useGeneratedKeys="true" keyProperty="id">
insert into user_sign_in(status,`period`,integral,create_time,update_time)
values(#{status},#{period},#{integral},NOW(),NOW())
</insert>
<insert id="CheckIn" parameterType="com.mmc.iuav.user.model.vo.signin.UserContinuousCheckInVO" useGeneratedKeys="true" keyProperty="id">
insert into user_continuous_check_in(sign_in_id,number_of_days,bonus_points,create_time,update_time)
values(#{signInId},#{numberOfDays},#{bonusPoints},NOW(),NOW())
</insert>
<update id="update" parameterType="com.mmc.iuav.user.entity.signin.SignInDO">
update user_sign_in
set
<if test="status!=null">
status=#{status},
</if>
<if test="period!=null">
`period`=#{period},
</if>
<if test="integral!=null">
integral=#{integral}
</if>
where id=#{id}
</update>
<delete id="remove">
DELETE from user_continuous_check_in where sign_in_id=#{id}
</delete>
<select id="SignInList" resultMap="signInList">
select id,status,`integral`,`period` from user_sign_in
ORDER BY id desc
</select>
<select id="selectUserAppSignIn" parameterType="com.mmc.iuav.user.model.vo.signin.AppSignInVO"
resultType="com.mmc.iuav.user.entity.signin.UserAppSignInDO">
select sign_time,sign_in_days ,user_account_id from user_app_sign_in where user_account_id=#{userAccountId}
</select>
<insert id="userAppSignIn" parameterType="com.mmc.iuav.user.model.vo.signin.AppSignInVO">
insert into user_app_sign_in(sign_time,sign_in_days,user_account_id,create_time,update_time)
values (#{signTime},sign_in_days+1,#{userAccountId},NOW(),NOW())
</insert>
<update id="updateUserAppSignIn" parameterType="com.mmc.iuav.user.model.vo.signin.AppSignInVO">
update user_app_sign_in set
sign_time=#{signTime},
sign_in_days=sign_in_days+1,
update_time=NOW()
where user_account_id=#{userAccountId}
</update>
<delete id="deleteSignInRecord" parameterType="com.mmc.iuav.user.model.vo.signin.AppSignInVO">
delete from sign_in_record where user_account_id=#{userAccountId}
</delete>
<insert id="insertSignInRecord" parameterType="com.mmc.iuav.user.model.vo.signin.AppSignInVO">
insert into sign_in_record(user_account_id,sign_in_time,create_time,update_time)
values(#{userAccountId},#{signTime},NOW(),NOW())
</insert>
<update id="updateUserAppSignInD" parameterType="com.mmc.iuav.user.model.vo.signin.AppSignInVO">
update user_app_sign_in set
sign_time=#{signTime},
sign_in_days=1,
update_time=NOW()
where user_account_id=#{userAccountId}
</update>
<select id="signInRecord" resultType="com.mmc.iuav.user.entity.signin.SignInRecordDO">
select user_account_id,sign_in_time from sign_in_record where user_account_id=#{userAccountId}
</select>
</mapper>
......@@ -18,4 +18,4 @@ patches:
images:
- name: REGISTRY/NAMESPACE/IMAGE:TAG
newName: mmc-registry.cn-shenzhen.cr.aliyuncs.com/sharefly-dev/cms
newTag: 31caad5477754d8ddc1ecc24cbd85ecb416cfba0
newTag: d190450dfd080c768e616a14db28f63eb2aac985
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论