bug
This commit is contained in:
parent
46a0106ab7
commit
25cf450810
@ -123,7 +123,7 @@
|
||||
LEFT JOIN card_exchange ce ON cer.card_exchange_id = ce.id
|
||||
WHERE
|
||||
cer.mt_user_id = #{cardFavorableDTOS.id}
|
||||
and ce.type = 0 or ce.type = 1
|
||||
and ce.type = 0 or cer.mt_user_id = #{cardFavorableDTOS.id} and ce.type = 1
|
||||
<if test="cardFavorableDTOS.useStatus!=null and cardFavorableDTOS.useStatus != ''">
|
||||
and cer.status = #{cardFavorableDTOS.useStatus}
|
||||
</if>
|
||||
|
@ -173,5 +173,10 @@ public class CardFuelRecordController extends BaseController {
|
||||
public ResponseObject selectFuelRecordCount(@Param("cardFuelRecord") CardFuelRecord cardFuelRecord) {
|
||||
return getSuccessResult(this.cardFuelRecordService.selectFuelRecordCount(cardFuelRecord));
|
||||
}
|
||||
|
||||
@GetMapping("testgtr")
|
||||
public void test() {
|
||||
this.cardFuelRecordService.expireOilToBalance();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -32,6 +32,7 @@ public class CardFuelRecord extends BaseEntity {
|
||||
* 会员名字
|
||||
*/
|
||||
private String name;
|
||||
private String enchangeStatus;
|
||||
/**
|
||||
* 会员手机号码
|
||||
*/
|
||||
|
@ -45,6 +45,7 @@ import com.fuint.business.userManager.mapper.UserBalanceMapper;
|
||||
import com.fuint.business.userManager.service.UserBalanceService;
|
||||
import com.fuint.business.userManager.vo.LJUserVo;
|
||||
import com.fuint.common.util.RedisLock;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.scheduling.annotation.Scheduled;
|
||||
@ -57,6 +58,7 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.time.LocalDate;
|
||||
import java.util.*;
|
||||
@ -69,6 +71,7 @@ import java.util.concurrent.TimeUnit;
|
||||
* @since 2023-11-13 18:53:47
|
||||
*/
|
||||
@Service("cardFuelRecordService")
|
||||
@Slf4j
|
||||
public class CardFuelRecordServiceImpl implements CardFuelRecordService {
|
||||
@Resource
|
||||
private CardFuelRecordMapper cardFuelRecordMapper;
|
||||
@ -701,36 +704,48 @@ public class CardFuelRecordServiceImpl implements CardFuelRecordService {
|
||||
|
||||
@Scheduled(cron = "0 0 1 * * ?")
|
||||
public void expireOilToBalance() {
|
||||
log.info("开始执行定时任务:过期油品转余额");
|
||||
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
|
||||
Date date = new Date();
|
||||
String format = simpleDateFormat.format(date);
|
||||
|
||||
//余额
|
||||
List<UserBalance> list = userBalanceService.list();
|
||||
// UserBalance userBalance = userBalanceService.getById(130);
|
||||
for (UserBalance userBalance : list) {
|
||||
LambdaQueryWrapper<UserBalance> queryWrapper1 = new LambdaQueryWrapper<>();
|
||||
queryWrapper1.eq(UserBalance::getMtUserId, 125);
|
||||
List<UserBalance> list1 = userBalanceService.list(queryWrapper1);
|
||||
// UserBalance userBalance = userBalanceService.getById(125);
|
||||
for (UserBalance userBalance : list1) {
|
||||
String refuelMoney = userBalance.getRefuelMoney();
|
||||
Double cardBalance = userBalance.getCardBalance();
|
||||
if (ObjectUtils.isNotEmpty(userBalance.getChainStoreId()) && ObjectUtils.isNotEmpty(refuelMoney)) {
|
||||
List<JSONObject> jsonObjectList = JSONArray.parseArray(refuelMoney, JSONObject.class);
|
||||
|
||||
String oilType = "";
|
||||
String type = "";
|
||||
double refuelMoney1 = 0.0;
|
||||
for (JSONObject jsonObject : jsonObjectList) {
|
||||
String oilType = jsonObject.getString("oilType");
|
||||
String type = jsonObject.getString("type");
|
||||
Integer refuelMoney1 = jsonObject.getInteger("refuelMoney");
|
||||
oilType = jsonObject.getString("oilType");
|
||||
type = jsonObject.getString("type");
|
||||
refuelMoney1 = jsonObject.getDouble("refuelMoney");
|
||||
}
|
||||
if (ObjectUtils.isNotEmpty(oilType)) {
|
||||
LambdaQueryWrapper<CardFuelRecord> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(CardFuelRecord::getChainStoreId, userBalance.getChainStoreId())
|
||||
.eq(CardFuelRecord::getMtUserId, userBalance.getMtUserId())
|
||||
.eq(CardFuelRecord::getOilType, oilType)
|
||||
.orderByAsc(CardFuelRecord::getCreateTime);
|
||||
.orderByAsc(CardFuelRecord::getCreateTime)
|
||||
.eq(CardFuelRecord::getEnchangeStatus, "0");
|
||||
List<CardFuelRecord> cardFuelRecords = cardFuelRecordMapper.selectList(queryWrapper);
|
||||
|
||||
Double oil = 0.0;
|
||||
double oils = 0.00;
|
||||
double oil = 0.00;
|
||||
|
||||
Integer index = -1;
|
||||
for (CardFuelRecord cardFuelRecord : cardFuelRecords) {
|
||||
if(refuelMoney1 >= oil){
|
||||
oil += cardFuelRecord.getPayAmount()/cardFuelRecord.getLockupPrice();
|
||||
if(refuelMoney1 > oil){
|
||||
oils += cardFuelRecord.getPayAmount()/cardFuelRecord.getLockupPrice();
|
||||
BigDecimal bd3 = BigDecimal.valueOf(oils).setScale(2, RoundingMode.HALF_UP);
|
||||
oil = bd3.doubleValue();
|
||||
index += 1;
|
||||
}else {
|
||||
// if (ObjectUtils.isNotEmpty(cardFuelRecord.getExpireTime())){
|
||||
@ -753,11 +768,63 @@ public class CardFuelRecordServiceImpl implements CardFuelRecordService {
|
||||
// }
|
||||
// }
|
||||
}
|
||||
}
|
||||
if (CollectionUtil.isNotEmpty(cardFuelRecords) &&
|
||||
ObjectUtils.isNotEmpty(cardFuelRecords.get(index).getExpireTime())){
|
||||
String format1 = simpleDateFormat.format(cardFuelRecords.get(index).getExpireTime());
|
||||
//如果到期 这次充值囤油的钱转到余额
|
||||
if (format1.equals(format)){
|
||||
CardFuelRecord cardFuelRecord1 = cardFuelRecords.get(index);
|
||||
cardFuelRecord1.setEnchangeStatus("1");
|
||||
cardFuelRecordMapper.updateById(cardFuelRecord1);
|
||||
double restOils = 0.00;
|
||||
if (oil > refuelMoney1){
|
||||
restOils = cardFuelRecords.get(index).getIncomeLitres() - (oil - refuelMoney1);
|
||||
}else {
|
||||
restOils = cardFuelRecords.get(index).getIncomeLitres();
|
||||
}
|
||||
|
||||
//升数对应减少
|
||||
BigDecimal bd = BigDecimal.valueOf(restOils).setScale(2, RoundingMode.HALF_UP);
|
||||
double restOil = bd.doubleValue();
|
||||
|
||||
Double lockupPrices = cardFuelRecords.get(index).getLockupPrice();
|
||||
BigDecimal bd1 = BigDecimal.valueOf(lockupPrices).setScale(2, RoundingMode.HALF_UP);
|
||||
double lockupPrice = bd1.doubleValue();
|
||||
|
||||
double restMoneys = restOil * lockupPrice;
|
||||
BigDecimal bd2 = BigDecimal.valueOf(restMoneys).setScale(1, RoundingMode.HALF_UP);
|
||||
double restMoney = bd2.doubleValue();
|
||||
|
||||
// JSONObject jsonObject1 = new JSONObject();
|
||||
// jsonObject1.put("type", type);
|
||||
// jsonObject1.put("oilType", oilType);
|
||||
// jsonObject1.put("refuelMoney", refuelMoney1-restOil);
|
||||
|
||||
List<RefuelMoney> refuelMoneysList = new ArrayList<>();
|
||||
for (JSONObject object : jsonObjectList) {
|
||||
RefuelMoney refuelMoney2 = new RefuelMoney();
|
||||
if (object.get("oilType").equals(oilType)){
|
||||
refuelMoney2.setRefuelMoney(String.valueOf(refuelMoney1-restOil));
|
||||
}else {
|
||||
refuelMoney2.setRefuelMoney(object.get("refuelMoney").toString());
|
||||
}
|
||||
refuelMoney2.setType(object.get("type").toString());
|
||||
refuelMoney2.setOilType(object.get("oilType").toString());
|
||||
refuelMoneysList.add(refuelMoney2);
|
||||
}
|
||||
|
||||
// jsonObjectList.add(jsonObject1);
|
||||
String userBnlancce = jsonObjectList.toString();
|
||||
userBalance.setRefuelMoney(com.alibaba.fastjson2.JSONObject.toJSONString(refuelMoneysList));
|
||||
userBalance.setCardBalance(cardBalance + restMoney);
|
||||
userBalanceService.updateUserBalance(userBalance);
|
||||
}
|
||||
}
|
||||
}
|
||||
/*if (CollectionUtil.isNotEmpty(cardFuelRecords) &&
|
||||
ObjectUtils.isNotEmpty(cardFuelRecords.get(index).getExpireTime())){
|
||||
String format1 = simpleDateFormat.format(cardFuelRecords.get(index).getExpireTime());
|
||||
//如果到期 这次充值囤油的钱转到余额
|
||||
if (format1.equals(format)){
|
||||
double restOil = cardFuelRecords.get(index).getIncomeLitres() - (oil - refuelMoney1);
|
||||
//升数对应减少
|
||||
@ -788,9 +855,9 @@ public class CardFuelRecordServiceImpl implements CardFuelRecordService {
|
||||
userBalance.setCardBalance(cardBalance + restMoney);
|
||||
userBalanceService.updateUserBalance(userBalance);
|
||||
}
|
||||
}*/
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -176,7 +176,10 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper,AllO
|
||||
// BigDecimal payMoneyBig = new BigDecimal(allOrderInfo.getPayMoney().toString());
|
||||
// BigDecimal payMoneyBefBig = payMoneyBig.multiply(new BigDecimal("100")).stripTrailingZeros();
|
||||
// 退款金额(暂不支持部分退款)
|
||||
BigDecimal refundAmtBig = new BigDecimal(map.get("refundAmt"));
|
||||
BigDecimal refundAmtBig = new BigDecimal(allOrderInfo.getPayMoney());
|
||||
if (ObjectUtil.isNotEmpty(map.get("refundAmt"))){
|
||||
refundAmtBig = new BigDecimal(map.get("refundAmt"));
|
||||
}
|
||||
BigDecimal refundAmtBefBig = refundAmtBig.multiply(new BigDecimal("100"));
|
||||
map.put("totalAmt",money.toString());
|
||||
map.put("refundAmt",refundAmtBefBig.setScale(0, RoundingMode.DOWN).toString());
|
||||
|
@ -1036,11 +1036,9 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
|
||||
growthAfter = growth + addVal;
|
||||
// 如果会员成长值达到会员等级成长值,则修改会员的会员等级信息
|
||||
for (int i = 0; i < records.size(); i++){
|
||||
if ((growthAfter-records.get(i).getGrowthValue())<100){
|
||||
balance.setGradeId(records.get(i).getId());
|
||||
}
|
||||
if (growthAfter>records.get(records.size()-1).getGrowthValue()){
|
||||
balance.setGradeId(records.get(records.size()-1).getId());
|
||||
if (growthAfter <records.get(i).getGrowthValue()){
|
||||
balance.setGradeId(records.get(i-1).getId());
|
||||
break;
|
||||
}
|
||||
}
|
||||
balance.setGrowthValue(growthAfter);
|
||||
@ -1051,11 +1049,9 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
|
||||
growthAfter = growth + addVal;
|
||||
// 如果会员成长值达到会员等级成长值,则修改会员的会员等级信息
|
||||
for (int i = 0; i < records.size(); i++){
|
||||
if ((growthAfter-records.get(i).getGrowthValue())<100 && (growthAfter-records.get(i).getGrowthValue())>0){
|
||||
balance.setGradeId(records.get(i).getId());
|
||||
}
|
||||
if (growthAfter > records.get(records.size()-1).getGrowthValue()){
|
||||
balance.setGradeId(records.get(records.size()-1).getId());
|
||||
if (growthAfter <records.get(i).getGrowthValue()){
|
||||
balance.setGradeId(records.get(i-1).getId());
|
||||
break;
|
||||
}
|
||||
}
|
||||
balance.setGrowthValue(growthAfter);
|
||||
@ -1066,11 +1062,9 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
|
||||
growthAfter = growth + addVal;
|
||||
// 如果会员成长值达到会员等级成长值,则修改会员的会员等级信息
|
||||
for (int i = 0; i < records.size(); i++){
|
||||
if ((growthAfter-records.get(i).getGrowthValue())<100){
|
||||
balance.setGradeId(records.get(i).getId());
|
||||
}
|
||||
if (growthAfter>records.get(records.size()-1).getGrowthValue()){
|
||||
balance.setGradeId(records.get(records.size()-1).getId());
|
||||
if (growthAfter <records.get(i).getGrowthValue()){
|
||||
balance.setGradeId(records.get(i-1).getId());
|
||||
break;
|
||||
}
|
||||
}
|
||||
balance.setGrowthValue(growthAfter);
|
||||
@ -1563,11 +1557,9 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
|
||||
growthAfter = growth + addVal;
|
||||
// 如果会员成长值达到会员等级成长值,则修改会员的会员等级信息
|
||||
for (int i = 0; i < records.size(); i++){
|
||||
if ((growthAfter-records.get(i).getGrowthValue())<100){
|
||||
balance.setGradeId(records.get(i).getId());
|
||||
}
|
||||
if (growthAfter>records.get(records.size()-1).getGrowthValue()){
|
||||
balance.setGradeId(records.get(records.size()-1).getId());
|
||||
if (growthAfter <records.get(i).getGrowthValue()){
|
||||
balance.setGradeId(records.get(i-1).getId());
|
||||
break;
|
||||
}
|
||||
}
|
||||
balance.setGrowthValue(growthAfter);
|
||||
@ -1578,11 +1570,9 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
|
||||
growthAfter = growth + addVal;
|
||||
// 如果会员成长值达到会员等级成长值,则修改会员的会员等级信息
|
||||
for (int i = 0; i < records.size(); i++){
|
||||
if ((growthAfter-records.get(i).getGrowthValue())<100 && (growthAfter-records.get(i).getGrowthValue())>0){
|
||||
balance.setGradeId(records.get(i).getId());
|
||||
}
|
||||
if (growthAfter > records.get(records.size()-1).getGrowthValue()){
|
||||
balance.setGradeId(records.get(records.size()-1).getId());
|
||||
if (growthAfter <records.get(i).getGrowthValue()){
|
||||
balance.setGradeId(records.get(i-1).getId());
|
||||
break;
|
||||
}
|
||||
}
|
||||
balance.setGrowthValue(growthAfter);
|
||||
@ -1593,11 +1583,9 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
|
||||
growthAfter = growth + addVal;
|
||||
// 如果会员成长值达到会员等级成长值,则修改会员的会员等级信息
|
||||
for (int i = 0; i < records.size(); i++){
|
||||
if ((growthAfter-records.get(i).getGrowthValue())<100){
|
||||
balance.setGradeId(records.get(i).getId());
|
||||
}
|
||||
if (growthAfter>records.get(records.size()-1).getGrowthValue()){
|
||||
balance.setGradeId(records.get(records.size()-1).getId());
|
||||
if (growthAfter <records.get(i).getGrowthValue()){
|
||||
balance.setGradeId(records.get(i-1).getId());
|
||||
break;
|
||||
}
|
||||
}
|
||||
balance.setGrowthValue(growthAfter);
|
||||
|
Loading…
Reference in New Issue
Block a user