diff --git a/fuintAdmin/src/api/staff/user/user.js b/fuintAdmin/src/api/staff/user/user.js index 9a4171acb..c780ce0fd 100644 --- a/fuintAdmin/src/api/staff/user/user.js +++ b/fuintAdmin/src/api/staff/user/user.js @@ -42,6 +42,14 @@ export function getUserMobile(data) { data: data }) } +// 根据手机号查询会员详细 +export function getUserPhone(data) { + return request({ + url: '/business/userManager/user/phone' , + method: 'post', + data: data + }) +} // 新增会员 export function addUser(data) { diff --git a/fuintAdmin/src/main.js b/fuintAdmin/src/main.js index a6311e836..24a55cf50 100644 --- a/fuintAdmin/src/main.js +++ b/fuintAdmin/src/main.js @@ -49,7 +49,6 @@ Vue.prototype.addDateRange = addDateRange Vue.prototype.getName = getName Vue.prototype.download = download Vue.prototype.handleTree = handleTree - // 全局组件挂载 Vue.component('DictTag', DictTag) Vue.component('Pagination', Pagination) diff --git a/fuintAdmin/src/views/index.vue b/fuintAdmin/src/views/index.vue index 459db8391..336478847 100644 --- a/fuintAdmin/src/views/index.vue +++ b/fuintAdmin/src/views/index.vue @@ -35,6 +35,7 @@ export default { created() { // this.getHomeData(); this.getChartsData(); + }, methods: { // 查询首页数据 diff --git a/fuintAdmin/src/views/member/fixingLevel.vue b/fuintAdmin/src/views/member/fixingLevel.vue index 372c53b6d..7bf02fcee 100644 --- a/fuintAdmin/src/views/member/fixingLevel.vue +++ b/fuintAdmin/src/views/member/fixingLevel.vue @@ -38,18 +38,18 @@ /> - - - + + + + + + + + + + + + 搜索 @@ -73,18 +73,18 @@ /> - - - + + + + + + + + + + + + 搜索 diff --git a/fuintAdmin/src/views/member/index.vue b/fuintAdmin/src/views/member/index.vue index f5b5950dc..e1bf90fe3 100644 --- a/fuintAdmin/src/views/member/index.vue +++ b/fuintAdmin/src/views/member/index.vue @@ -2,11 +2,11 @@ - - - - - + + + + + { - if(response.data!=null){ + getUserPhone({mobile:this.form.mobile}).then( response => { + if(response.data){ this.$modal.msgError("手机号已存在"); }else { addUser(this.form).then(response => { diff --git a/fuintAdmin/src/views/member/userInfo.vue b/fuintAdmin/src/views/member/userInfo.vue index 581a1758f..b6aee601f 100644 --- a/fuintAdmin/src/views/member/userInfo.vue +++ b/fuintAdmin/src/views/member/userInfo.vue @@ -14,7 +14,7 @@ - + 绑定实体卡 @@ -29,7 +29,7 @@ {{form.name ? form.name : "--"}} {{form.idcard ? form.idcard : "--"}} - -- + @@ -43,10 +43,10 @@ {{ grade.name }} - -- - - 跟随全局总配置 - + + + + {{form.fixingLevel ? fixingLevelinfo(fixingLevelList,form.fixingLevel) : "--"}} @@ -716,6 +716,7 @@ export default { dicts: ['official','zhzt','zcrzdj','payment_type'], data(){ return{ + baseUrl:process.env.VUE_APP_BASE_API, flag:null, fixingLevelList:[], // 充值余额列表 diff --git a/fuintAdmin/src/views/staff/list.vue b/fuintAdmin/src/views/staff/list.vue index b797f9420..a8e53cec6 100644 --- a/fuintAdmin/src/views/staff/list.vue +++ b/fuintAdmin/src/views/staff/list.vue @@ -166,18 +166,18 @@ - - - - - - + v-for="item in roleList" + :key="item.dutyId" + :label="item.dutyName" + :value="item.dutyId" + > + + + + + + @@ -569,7 +569,7 @@ :title="title" :visible.sync="dialogVisible" style="margin-top: 100px" - width="20%"> + width="23%"> @@ -987,8 +987,8 @@ export default { margin-bottom: 20px; } .qrcode{ - width: 200px; - height: 300px; + width: 80%; + margin: 0 auto; margin-top: 15px; } diff --git a/fuintAdmin_zt/src/api/indexBanner/indexBanner.js b/fuintAdmin_zt/src/api/indexBanner/indexBanner.js index 1a6dccc18..22dc0e19f 100644 --- a/fuintAdmin_zt/src/api/indexBanner/indexBanner.js +++ b/fuintAdmin_zt/src/api/indexBanner/indexBanner.js @@ -29,7 +29,7 @@ export function addIndexBanner(data) { // 修改首页轮播图信息 export function updateIndexBanner(data) { return request({ - url: '/business/indexBanner/lists', + url: '/business/indexBanner', method: 'put', data: data }) diff --git a/fuintAdmin_zt/src/views/indexBanner/imgUpload/imgUpload.vue b/fuintAdmin_zt/src/views/indexBanner/imgUpload/imgUpload.vue new file mode 100644 index 000000000..95efb7dde --- /dev/null +++ b/fuintAdmin_zt/src/views/indexBanner/imgUpload/imgUpload.vue @@ -0,0 +1,270 @@ + + + + + + + + + + + + + + + + + + + 请上传 + 大小不超过 {{ fileSize }}MB + 格式为 {{ fileType.join("/") }} + 的文件 + + + + + + + + + + + + + + + + + + + diff --git a/fuintAdmin_zt/src/views/indexBanner/index.vue b/fuintAdmin_zt/src/views/indexBanner/index.vue index c98fa5f54..ff255dec4 100644 --- a/fuintAdmin_zt/src/views/indexBanner/index.vue +++ b/fuintAdmin_zt/src/views/indexBanner/index.vue @@ -2,19 +2,18 @@ - - + + + + - + {{scope.row.storeId ? storeName(storeList,scope.row.storeId) : "--"}} - + + + -- + + + @@ -57,7 +61,7 @@ size="mini" type="text" icon="el-icon-edit" - @click="handleUpdate(scope.row)" + @click="handleUpdate(scope.row.id)" >修改 - 这是一段信息 + + + + + + + + + + + + + + + + - 取 消 - 确 定 + 取 消 + 确 定 @@ -92,10 +113,18 @@ diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/api/fuyou/service/impl/MerchantConfigServiceImpl.java b/fuintBackend/fuint-application/src/main/java/com/fuint/api/fuyou/service/impl/MerchantConfigServiceImpl.java index b4544a89a..a99c41769 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/api/fuyou/service/impl/MerchantConfigServiceImpl.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/api/fuyou/service/impl/MerchantConfigServiceImpl.java @@ -131,7 +131,12 @@ public class MerchantConfigServiceImpl extends ServiceImpl { //主键id @@ -29,7 +31,7 @@ public class ActiveConsumption extends Model { //活动名称 private String name; //满足金额 - private String participationConditionMoney; + private Double participationConditionMoney; //活动开始时间 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date activeStartTime; @@ -74,215 +76,5 @@ public class ActiveConsumption extends Model { //更新时间 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date updateTime; - - public String getParticipationConditionMoney() { - return participationConditionMoney; - } - - public void setParticipationConditionMoney(String participationConditionMoney) { - this.participationConditionMoney = participationConditionMoney; - } - - public Integer getId() { - return id; - } - - public void setId(Integer id) { - this.id = id; - } - - public Integer getChainStorId() { - return chainStorId; - } - - public void setChainStorId(Integer chainStorId) { - this.chainStorId = chainStorId; - } - - public Integer getStoreId() { - return storeId; - } - - public void setStoreId(Integer storeId) { - this.storeId = storeId; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public Date getActiveStartTime() { - return activeStartTime; - } - - public void setActiveStartTime(Date activeStartTime) { - this.activeStartTime = activeStartTime; - } - - public Date getActiveEndTime() { - return activeEndTime; - } - - public void setActiveEndTime(Date activeEndTime) { - this.activeEndTime = activeEndTime; - } - - public String getAdaptOil() { - return adaptOil; - } - - public void setAdaptOil(String adaptOil) { - this.adaptOil = adaptOil; - } - - public String getMember_type() { - return member_type; - } - - public void setMember_type(String member_type) { - this.member_type = member_type; - } - - public String getAdaptUserType() { - return adaptUserType; - } - - public void setAdaptUserType(String adaptUserType) { - this.adaptUserType = adaptUserType; - } - - public String getDieselUserLevel() { - return dieselUserLevel; - } - - public void setDieselUserLevel(String dieselUserLevel) { - this.dieselUserLevel = dieselUserLevel; - } - - public String getGasolineUserLevel() { - return gasolineUserLevel; - } - - public void setGasolineUserLevel(String gasolineUserLevel) { - this.gasolineUserLevel = gasolineUserLevel; - } - - public String getNaturalUserLevel() { - return naturalUserLevel; - } - - public void setNaturalUserLevel(String naturalUserLevel) { - this.naturalUserLevel = naturalUserLevel; - } - - public String getPaymentType() { - return paymentType; - } - - public void setPaymentType(String paymentType) { - this.paymentType = paymentType; - } - - public String getParticipationCondition() { - return participationCondition; - } - - public void setParticipationCondition(String participationCondition) { - this.participationCondition = participationCondition; - } - - public String getParticipationAcount() { - return participationAcount; - } - - public void setParticipationAcount(String participationAcount) { - this.participationAcount = participationAcount; - } - - public Integer getLimitAcount() { - return limitAcount; - } - - public void setLimitAcount(Integer limitAcount) { - this.limitAcount = limitAcount; - } - - public String getActiveGift() { - return activeGift; - } - - public void setActiveGift(String activeGift) { - this.activeGift = activeGift; - } - - public Integer getPoints() { - return points; - } - - public void setPoints(Integer points) { - this.points = points; - } - - public String getStatus() { - return status; - } - - public void setStatus(String status) { - this.status = status; - } - - public String getIsonline() { - return isonline; - } - - public void setIsonline(String isonline) { - this.isonline = isonline; - } - - public String getCreateBy() { - return createBy; - } - - public void setCreateBy(String createBy) { - this.createBy = createBy; - } - - public Date getCreateTime() { - return createTime; - } - - public void setCreateTime(Date createTime) { - this.createTime = createTime; - } - - public String getUpdateBy() { - return updateBy; - } - - public void setUpdateBy(String updateBy) { - this.updateBy = updateBy; - } - - public Date getUpdateTime() { - return updateTime; - } - - public void setUpdateTime(Date updateTime) { - this.updateTime = updateTime; - } - - /** - * 获取主键值 - * - * @return 主键值 - */ - @Override - protected Serializable pkVal() { - return this.id; - } } diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeDiscount/vo/ActiveConsumptionVO.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeDiscount/vo/ActiveConsumptionVO.java new file mode 100644 index 000000000..d67709986 --- /dev/null +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeDiscount/vo/ActiveConsumptionVO.java @@ -0,0 +1,26 @@ +package com.fuint.business.marketingActivity.activeDiscount.vo; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class ActiveConsumptionVO implements Serializable { + + //活动id + private Integer activeId; + //活动名称 + private String activeName; + //适用会员 + private String adaptUser; + //可用油品 + private String oilId; + //积分 + private Integer points; + //满足金额 + private double amount; + //折扣 + private String activeGift; + //券id + private Integer vouchersId; +} diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeDiscount/vo/ActiveDiscountPayVO.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeDiscount/vo/ActiveDiscountPayVO.java index 45b0253c3..b1224241d 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeDiscount/vo/ActiveDiscountPayVO.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeDiscount/vo/ActiveDiscountPayVO.java @@ -3,6 +3,7 @@ package com.fuint.business.marketingActivity.activeDiscount.vo; import lombok.Data; import java.io.Serializable; +import java.math.BigDecimal; @Data public class ActiveDiscountPayVO implements Serializable { @@ -11,9 +12,9 @@ public class ActiveDiscountPayVO implements Serializable { //活动名称 private String activeName; //满足金额 - private double amount; + private BigDecimal amount; //折扣 - private double discount; + private BigDecimal discount; //可用油品 private String oilId; //适用会员 diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeExchange/dto/PaymentActiveDTO.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeExchange/dto/PaymentActiveDTO.java index aa72d52a1..96c0d148a 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeExchange/dto/PaymentActiveDTO.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeExchange/dto/PaymentActiveDTO.java @@ -3,13 +3,14 @@ package com.fuint.business.marketingActivity.activeExchange.dto; import lombok.Data; import java.io.Serializable; +import java.math.BigDecimal; @Data public class PaymentActiveDTO implements Serializable { //支付类型 0:储值卡 1:囤油卡 2:现金 private String type; //支付金额 - private double amount; + private BigDecimal amount; //可用油品Id private Integer oilId; //店铺id diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeExchange/service/impl/ActiveExchangeServiceImpl.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeExchange/service/impl/ActiveExchangeServiceImpl.java index 7e1923370..d4d6cf1cf 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeExchange/service/impl/ActiveExchangeServiceImpl.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeExchange/service/impl/ActiveExchangeServiceImpl.java @@ -11,6 +11,7 @@ import com.fuint.business.marketingActivity.activeDiscount.entity.ActiveDiscount import com.fuint.business.marketingActivity.activeDiscount.mapper.ActiveDiscountMapper; import com.fuint.business.marketingActivity.activeDiscount.service.ActiveDiscountChildService; import com.fuint.business.marketingActivity.activeDiscount.service.ActiveDiscountService; +import com.fuint.business.marketingActivity.activeDiscount.vo.ActiveConsumptionVO; import com.fuint.business.marketingActivity.activeDiscount.vo.ActiveDiscountAppletVO; import com.fuint.business.marketingActivity.activeDiscount.vo.ActiveDiscountPayVO; import com.fuint.business.marketingActivity.activeDiscount.vo.ActiveDiscountVO; @@ -38,15 +39,24 @@ import com.fuint.business.marketingActivity.cardValue.vo.CardValueAppletVO; import com.fuint.business.order.mapper.OilOrderMapper; import com.fuint.business.petrolStationManagement.entity.OilName; import com.fuint.business.petrolStationManagement.service.OilNameService; +import com.fuint.business.storeInformation.service.ILJStoreService; +import com.fuint.business.userManager.entity.LJUser; +import com.fuint.business.userManager.entity.UserBalance; +import com.fuint.business.userManager.mapper.LJUserMapper; import com.fuint.business.userManager.service.LJUserGradeService; +import com.fuint.business.userManager.service.LJUserService; +import com.fuint.business.userManager.service.UserBalanceService; +import com.fuint.business.userManager.vo.LJUserVo; import com.fuint.common.dto.AccountInfo; import com.fuint.common.util.TokenUtil; import org.apache.commons.lang3.ObjectUtils; import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -79,9 +89,15 @@ public class ActiveExchangeServiceImpl implements ActiveExchangeService { @Resource private CardValueService cardValueService; @Resource - private ActiveDiscountMapper activeDiscountMapper; - @Resource private OilOrderMapper oilOrderMapper; + @Resource + private LJUserMapper ljUserMapper; + @Resource + private UserBalanceService userBalanceService; + @Resource + private ILJStoreService iljStoreService; + @Autowired + private LJUserService userService; /** * 分页查询所有 * @param @@ -394,19 +410,21 @@ public class ActiveExchangeServiceImpl implements ActiveExchangeService { public PaymentActiveVO paymentActive(PaymentActiveDTO paymentActiveDTO) { PaymentActiveVO paymentActiveVO = new PaymentActiveVO(); Integer storeId = paymentActiveDTO.getStoreId(); - double amount = 0.0; - double fullAmount = 0.0; + BigDecimal amount = new BigDecimal(0.00); + BigDecimal fullAmount = new BigDecimal(0.00); + BigDecimal a = new BigDecimal(0.1); + BigDecimal b = new BigDecimal(10); //折扣 List activeDiscountVOList = oilOrderMapper.selectActiveDiscount(storeId,paymentActiveDTO.getAmount()); if (CollectionUtils.isNotEmpty(activeDiscountVOList)){ for (ActiveDiscountPayVO activeDiscountPayVO : activeDiscountVOList) { if (activeDiscountPayVO.getOilId().contains(paymentActiveDTO.getOilId().toString()) && activeDiscountPayVO.getAdaptUser().contains(paymentActiveDTO.getMtUserLevel().toString())){ - if (activeDiscountPayVO.getDiscount() * activeDiscountPayVO.getAmount() > amount){ - amount = paymentActiveDTO.getAmount() - ((10-activeDiscountPayVO.getDiscount()) * activeDiscountPayVO.getAmount() * 0.1); + if (activeDiscountPayVO.getAmount().multiply(activeDiscountPayVO.getDiscount()).compareTo(amount) > 0){ + amount = paymentActiveDTO.getAmount().subtract(((b.subtract(activeDiscountPayVO.getDiscount())).multiply(activeDiscountPayVO.getAmount()).multiply(a))); paymentActiveVO.setActiveId(activeDiscountPayVO.getActiveId()); paymentActiveVO.setAmount(amount); - paymentActiveVO.setFavorableAmount((10-activeDiscountPayVO.getDiscount()) * activeDiscountPayVO.getAmount() * 0.1); + paymentActiveVO.setFavorableAmount((b.subtract(activeDiscountPayVO.getDiscount())).multiply(activeDiscountPayVO.getAmount()).multiply(a)); } } } @@ -418,18 +436,76 @@ public class ActiveExchangeServiceImpl implements ActiveExchangeService { if (activeDiscountPayVO.getOilId().contains(paymentActiveDTO.getOilId().toString()) && activeDiscountPayVO.getAdaptUser().contains(paymentActiveDTO.getMtUserLevel().toString())){ //如果满足条件 - if (paymentActiveDTO.getAmount() >= activeDiscountPayVO.getAmount()){ - fullAmount = paymentActiveDTO.getAmount() - activeDiscountPayVO.getDiscount(); - if (amount > fullAmount){ - amount = paymentActiveDTO.getAmount() - fullAmount; + if ((paymentActiveDTO.getAmount()).compareTo(activeDiscountPayVO.getAmount()) >= 0){ + fullAmount = paymentActiveDTO.getAmount().subtract(activeDiscountPayVO.getDiscount()); + if (amount.compareTo(fullAmount) > 0){ + amount = paymentActiveDTO.getAmount().subtract(fullAmount); paymentActiveVO.setActiveId(activeDiscountPayVO.getActiveId()); paymentActiveVO.setAmount(amount); - paymentActiveVO.setFavorableAmount(paymentActiveDTO.getAmount() - activeDiscountPayVO.getDiscount()); + paymentActiveVO.setFavorableAmount(paymentActiveDTO.getAmount().subtract(activeDiscountPayVO.getDiscount())); } } } } } + //消费有礼 + List activeConsumptionVOS = oilOrderMapper.selectActiveConsumption(storeId, paymentActiveDTO.getAmount()); + //连锁店信息 + LJUser ljUserVo = userService.queryUserByUserId(TokenUtil.getNowAccountInfo().getId()); + String accountName = TokenUtil.getNowAccountInfo().getAccountName(); + Integer storeId1 = paymentActiveDTO.getStoreId(); + Integer chainStoreId = iljStoreService.selectStoreByStoreId(storeId1).getChainStoreId(); + //用户余额 + UserBalance userBalance = userBalanceService.selectUserBalance(TokenUtil.getNowAccountInfo().getId(),chainStoreId); + UserBalance userBalance1 = new UserBalance(); + if (CollectionUtils.isNotEmpty(activeConsumptionVOS)){ + for (ActiveConsumptionVO activeConsumptionVO : activeConsumptionVOS) { + if (activeConsumptionVO.getOilId().contains(paymentActiveDTO.getOilId().toString()) && + activeConsumptionVO.getAdaptUser().contains(paymentActiveDTO.getMtUserLevel().toString())){ + //如果满足条件/给当前用户加积分 + //用户 (新用户新建 老用户叠加) + if (ObjectUtils.isNotEmpty(userBalance)){ + //积分 + if (ObjectUtils.isNotEmpty(userBalance.getPoints()) && ObjectUtils.isNotEmpty(activeConsumptionVO.getPoints())){ + userBalance.setPoints(userBalance.getPoints() + activeConsumptionVO.getPoints()); + } + userBalanceService.updateUserBalance(userBalance); + }else { + userBalance1.setMtUserId(TokenUtil.getNowAccountInfo().getId()); + userBalance1.setChainStoreId(chainStoreId); + //积分 + if (ObjectUtils.isNotEmpty(activeConsumptionVO.getPoints())){ + userBalance1.setPoints(activeConsumptionVO.getPoints()); + } + userBalanceService.save(userBalance1); + } + //优惠券 + if (activeConsumptionVO.getActiveGift().equals("1")){ + CardFavorableRecord cardFavorableRecord = new CardFavorableRecord(); + cardFavorableRecord.setCardFavorableId(activeConsumptionVO.getVouchersId()); + cardFavorableRecord.setStoreId(storeId1); + cardFavorableRecord.setMtUserId(TokenUtil.getNowAccountInfo().getId()); + cardFavorableRecord.setName(ljUserVo.getName()); + cardFavorableRecord.setMobile(ljUserVo.getMobile()); + cardFavorableRecord.setStatus("0"); + cardFavorableRecord.setExchangeFrom("充值送券"); + cardFavorableRecordService.addCardFavorableRecord(cardFavorableRecord); + //兑换券 + }else if (activeConsumptionVO.getActiveGift().equals("2")){ + CardExchangeRecord cardExchangeRecord = new CardExchangeRecord(); + cardExchangeRecord.setCardExchangeId(activeConsumptionVO.getVouchersId()); + cardExchangeRecord.setStoreId(storeId1); + cardExchangeRecord.setMtUserId(ljUserVo.getId()); + cardExchangeRecord.setName(ljUserVo.getName()); + cardExchangeRecord.setMobile(ljUserVo.getMobile()); + cardExchangeRecord.setPhoto(ljUserVo.getAvatar()); + cardExchangeRecord.setStatus("0"); + cardExchangeRecord.setExchangeFrom("充值送券"); + cardExchangeRecordService.addCardExchangeRecord(cardExchangeRecord); + } + } + } + } return paymentActiveVO; } } diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeExchange/vo/PaymentActiveVO.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeExchange/vo/PaymentActiveVO.java index 0c6ea9f09..cafd9e95d 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeExchange/vo/PaymentActiveVO.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeExchange/vo/PaymentActiveVO.java @@ -3,13 +3,14 @@ package com.fuint.business.marketingActivity.activeExchange.vo; import lombok.Data; import java.io.Serializable; +import java.math.BigDecimal; @Data public class PaymentActiveVO implements Serializable { //活动id private Integer activeId; //应付金额 - private double amount; + private BigDecimal amount; //优惠金额 - private double favorableAmount; + private BigDecimal favorableAmount; } diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeRecommend/controller/ActiveRecommendRecordsController.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeRecommend/controller/ActiveRecommendRecordsController.java index f22f8664f..a6af53691 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeRecommend/controller/ActiveRecommendRecordsController.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeRecommend/controller/ActiveRecommendRecordsController.java @@ -3,6 +3,7 @@ package com.fuint.business.marketingActivity.activeRecommend.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.fuint.business.marketingActivity.activeRecommend.dto.ActiveRecommendRecordsDTO; import com.fuint.business.marketingActivity.activeRecommend.entity.ActiveRecommendRecords; import com.fuint.business.marketingActivity.activeRecommend.service.ActiveRecommendRecordsService; import com.fuint.framework.web.BaseController; @@ -49,8 +50,8 @@ public class ActiveRecommendRecordsController extends BaseController { * @return */ @GetMapping("selectAllAmount") - public ResponseObject selectAllAmount() { - return getSuccessResult(this.activeRecommendRecordsService.selectAllAmount()); + public ResponseObject selectAllAmount(@Param("activeRecommendRecords") ActiveRecommendRecords activeRecommendRecords) { + return getSuccessResult(this.activeRecommendRecordsService.selectAllAmount(activeRecommendRecords)); } /** @@ -66,12 +67,12 @@ public class ActiveRecommendRecordsController extends BaseController { /** * 新增邀请记录接口 - * @param activeRecommendRecords 实体对象 + * @param activeRecommendRecordsDTO 实体对象 * @return 新增结果 */ @PostMapping - public ResponseObject insert(@RequestBody ActiveRecommendRecords activeRecommendRecords) { - return getSuccessResult(this.activeRecommendRecordsService.add(activeRecommendRecords)); + public ResponseObject insert(@RequestBody ActiveRecommendRecordsDTO activeRecommendRecordsDTO) { + return getSuccessResult(this.activeRecommendRecordsService.add(activeRecommendRecordsDTO)); } /** diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeRecommend/dto/ActiveRecommendRecordsDTO.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeRecommend/dto/ActiveRecommendRecordsDTO.java new file mode 100644 index 000000000..40b0d4b7f --- /dev/null +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeRecommend/dto/ActiveRecommendRecordsDTO.java @@ -0,0 +1,12 @@ +package com.fuint.business.marketingActivity.activeRecommend.dto; + +import com.fuint.business.marketingActivity.activeRecommend.entity.ActiveRecommendRecords; +import lombok.Data; + +import java.io.Serializable; + +@Data +public class ActiveRecommendRecordsDTO extends ActiveRecommendRecords implements Serializable { + private Integer storeId; + private String type; +} diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeRecommend/entity/ActiveRecommend.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeRecommend/entity/ActiveRecommend.java index d0a8dfd0a..9c0b50405 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeRecommend/entity/ActiveRecommend.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeRecommend/entity/ActiveRecommend.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.extension.activerecord.Model; import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; import java.io.Serializable; @@ -16,6 +17,7 @@ import java.io.Serializable; * @since 2023-11-13 15:09:50 */ @SuppressWarnings("serial") +@Data public class ActiveRecommend extends Model { //主键id @TableId(type = IdType.AUTO) @@ -58,167 +60,5 @@ public class ActiveRecommend extends Model { //更新时间 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date updateTime; - - public String getTitleUrl() { - return titleUrl; - } - - public void setTitleUrl(String titleUrl) { - this.titleUrl = titleUrl; - } - - public Integer getId() { - return id; - } - - public void setId(Integer id) { - this.id = id; - } - - public Integer getChainStoreId() { - return chainStoreId; - } - - public void setChainStoreId(Integer chainStoreId) { - this.chainStoreId = chainStoreId; - } - - public Integer getStoreId() { - return storeId; - } - - public void setStoreId(Integer storeId) { - this.storeId = storeId; - } - - public String getActivePictureUrl() { - return activePictureUrl; - } - - public void setActivePictureUrl(String activePictureUrl) { - this.activePictureUrl = activePictureUrl; - } - - public String getInviterGiftType() { - return inviterGiftType; - } - - public void setInviterGiftType(String inviterGiftType) { - this.inviterGiftType = inviterGiftType; - } - - public Integer getPoints() { - return points; - } - - public void setPoints(Integer points) { - this.points = points; - } - - public Integer getGrowthValue() { - return growthValue; - } - - public void setGrowthValue(Integer growthValue) { - this.growthValue = growthValue; - } - - public String getNewuserGiftType() { - return newuserGiftType; - } - - public void setNewuserGiftType(String newuserGiftType) { - this.newuserGiftType = newuserGiftType; - } - - public String getTitle() { - return title; - } - - public void setTitle(String title) { - this.title = title; - } - - public String getInvitationCodeType() { - return invitationCodeType; - } - - public void setInvitationCodeType(String invitationCodeType) { - this.invitationCodeType = invitationCodeType; - } - - public String getRewardDisplay() { - return rewardDisplay; - } - - public void setRewardDisplay(String rewardDisplay) { - this.rewardDisplay = rewardDisplay; - } - - public String getActiveRule() { - return activeRule; - } - - public void setActiveRule(String activeRule) { - this.activeRule = activeRule; - } - - public String getStatus() { - return status; - } - - public void setStatus(String status) { - this.status = status; - } - - public String getIsonline() { - return isonline; - } - - public void setIsonline(String isonline) { - this.isonline = isonline; - } - - public String getCreateBy() { - return createBy; - } - - public void setCreateBy(String createBy) { - this.createBy = createBy; - } - - public Date getCreateTime() { - return createTime; - } - - public void setCreateTime(Date createTime) { - this.createTime = createTime; - } - - public String getUpdateBy() { - return updateBy; - } - - public void setUpdateBy(String updateBy) { - this.updateBy = updateBy; - } - - public Date getUpdateTime() { - return updateTime; - } - - public void setUpdateTime(Date updateTime) { - this.updateTime = updateTime; - } - - /** - * 获取主键值 - * - * @return 主键值 - */ - @Override - protected Serializable pkVal() { - return this.id; - } } diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeRecommend/entity/ActiveRecommendRecords.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeRecommend/entity/ActiveRecommendRecords.java index 06fee4766..dea0a7671 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeRecommend/entity/ActiveRecommendRecords.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeRecommend/entity/ActiveRecommendRecords.java @@ -28,7 +28,7 @@ public class ActiveRecommendRecords extends Model { private Integer chainStoreId; //所属店铺id private Integer storeId; - //用户id + //邀请人id private String userId; //被邀请人id private String inviteeUserId; diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeRecommend/service/ActiveRecommendRecordsService.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeRecommend/service/ActiveRecommendRecordsService.java index 9c9957f34..e03671f15 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeRecommend/service/ActiveRecommendRecordsService.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeRecommend/service/ActiveRecommendRecordsService.java @@ -3,6 +3,7 @@ package com.fuint.business.marketingActivity.activeRecommend.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import com.fuint.business.marketingActivity.activeRecommend.dto.ActiveRecommendRecordsDTO; import com.fuint.business.marketingActivity.activeRecommend.entity.ActiveRecommendRecords; /** @@ -25,13 +26,13 @@ public interface ActiveRecommendRecordsService extends IService queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(ActiveRecommendRecords::getUserId,userId); queryWrapper.eq(ActiveRecommendRecords::getStoreId,storeId); @@ -83,12 +108,12 @@ public class ActiveRecommendRecordsServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(ActiveRecommendRecords::getUserId,userId); queryWrapper.eq(ActiveRecommendRecords::getStoreId,storeId); @@ -97,7 +122,9 @@ public class ActiveRecommendRecordsServiceImpl extends ServiceImpl activeRecommendChildList = activeRecommendVO.getActiveRecommendChildList(); if(CollectionUtils.isNotEmpty(activeRecommendChildList)){ @@ -118,21 +145,83 @@ public class ActiveRecommendRecordsServiceImpl extends ServiceImpl activeRecommendChildList = activeRecommendVO.getActiveRecommendChildList(); + if(CollectionUtils.isNotEmpty(activeRecommendChildList)){ + for (ActiveRecommendChild activeRecommendChild : activeRecommendChildList) { + //优惠券 + if (activeRecommendChild.getGiftUserType().equals("0") && activeRecommendChild.getActiveGift().equals("1")){ + CardFavorableRecord cardFavorableRecord = new CardFavorableRecord(); + cardFavorableRecord.setCardFavorableId(activeRecommendChild.getVouchersId()); + cardFavorableRecord.setStoreId(activeRecommendRecordsDTO.getStoreId()); + cardFavorableRecord.setMtUserId(ljUser1.getId()); + cardFavorableRecord.setName(ljUser1.getName()); + cardFavorableRecord.setMobile(ljUser1.getMobile()); + cardFavorableRecord.setStatus("0"); + cardFavorableRecord.setExchangeFrom("邀请新人送券"); + cardFavorableRecordService.addCardFavorableRecord(cardFavorableRecord); + } + //兑换券 + if (activeRecommendChild.getGiftUserType().equals("0") && activeRecommendChild.getActiveGift().equals("2")){ + CardExchangeRecord cardExchangeRecord = new CardExchangeRecord(); + cardExchangeRecord.setCardExchangeId(activeRecommendChild.getVouchersId()); + cardExchangeRecord.setStoreId(activeRecommendRecordsDTO.getStoreId()); + cardExchangeRecord.setMtUserId(ljUser1.getId()); + cardExchangeRecord.setName(ljUser1.getName()); + cardExchangeRecord.setMobile(ljUser1.getMobile()); + cardExchangeRecord.setPhoto(ljUser1.getAvatar()); + cardExchangeRecord.setStatus("0"); + cardExchangeRecord.setExchangeFrom("邀请新人送券"); + cardExchangeRecordService.addCardExchangeRecord(cardExchangeRecord); + } + //被邀请人优惠券 + if (activeRecommendChild.getGiftUserType().equals("1") && activeRecommendChild.getActiveGift().equals("1")){ + CardFavorableRecord cardFavorableRecord = new CardFavorableRecord(); + cardFavorableRecord.setCardFavorableId(activeRecommendChild.getVouchersId()); + cardFavorableRecord.setStoreId(activeRecommendRecordsDTO.getStoreId()); + cardFavorableRecord.setMtUserId(ljUser.getId()); + cardFavorableRecord.setName(ljUser.getName()); + cardFavorableRecord.setMobile(ljUser.getMobile()); + cardFavorableRecord.setStatus("0"); + cardFavorableRecord.setExchangeFrom("新人送券"); + cardFavorableRecordService.addCardFavorableRecord(cardFavorableRecord); + } + } + } + userBalanceService.updateById(userBalance); + //被邀请人 + activeRecommendRecords.setInviteeUserId(userId.toString()); + activeRecommendRecords.setInviteeUserName(ljUser.getName()); + return save(activeRecommendRecords); + } + return false; } } diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeRecommend/vo/ActiveRecommendVO.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeRecommend/vo/ActiveRecommendVO.java index 9c1eb40ad..852ea842e 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeRecommend/vo/ActiveRecommendVO.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeRecommend/vo/ActiveRecommendVO.java @@ -3,6 +3,7 @@ package com.fuint.business.marketingActivity.activeRecommend.vo; import com.baomidou.mybatisplus.extension.activerecord.Model; import com.fasterxml.jackson.annotation.JsonFormat; import com.fuint.business.marketingActivity.activeRecommend.entity.ActiveRecommendChild; +import lombok.Data; import java.io.Serializable; import java.util.Date; @@ -15,6 +16,7 @@ import java.util.List; * @since 2023-11-13 15:09:50 */ @SuppressWarnings("serial") +@Data public class ActiveRecommendVO extends Model { //主键id private Integer id; @@ -58,175 +60,5 @@ public class ActiveRecommendVO extends Model { //更新时间 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date updateTime; - - public String getTitleUrl() { - return titleUrl; - } - - public void setTitleUrl(String titleUrl) { - this.titleUrl = titleUrl; - } - - public String[] getInviterGiftType() { - return inviterGiftType; - } - - public void setInviterGiftType(String[] inviterGiftType) { - this.inviterGiftType = inviterGiftType; - } - - public List getActiveRecommendChildList() { - return activeRecommendChildList; - } - - public void setActiveRecommendChildList(List activeRecommendChildList) { - this.activeRecommendChildList = activeRecommendChildList; - } - - public Integer getId() { - return id; - } - - public void setId(Integer id) { - this.id = id; - } - - public Integer getChainStoreId() { - return chainStoreId; - } - - public void setChainStoreId(Integer chainStoreId) { - this.chainStoreId = chainStoreId; - } - - public Integer getStoreId() { - return storeId; - } - - public void setStoreId(Integer storeId) { - this.storeId = storeId; - } - - public String getActivePictureUrl() { - return activePictureUrl; - } - - public void setActivePictureUrl(String activePictureUrl) { - this.activePictureUrl = activePictureUrl; - } - - public Integer getPoints() { - return points; - } - - public void setPoints(Integer points) { - this.points = points; - } - - public Integer getGrowthValue() { - return growthValue; - } - - public void setGrowthValue(Integer growthValue) { - this.growthValue = growthValue; - } - - public String getNewuserGiftType() { - return newuserGiftType; - } - - public void setNewuserGiftType(String newuserGiftType) { - this.newuserGiftType = newuserGiftType; - } - - public String getTitle() { - return title; - } - - public void setTitle(String title) { - this.title = title; - } - - public String getInvitationCodeType() { - return invitationCodeType; - } - - public void setInvitationCodeType(String invitationCodeType) { - this.invitationCodeType = invitationCodeType; - } - - public String getRewardDisplay() { - return rewardDisplay; - } - - public void setRewardDisplay(String rewardDisplay) { - this.rewardDisplay = rewardDisplay; - } - - public String getActiveRule() { - return activeRule; - } - - public void setActiveRule(String activeRule) { - this.activeRule = activeRule; - } - - public String getStatus() { - return status; - } - - public void setStatus(String status) { - this.status = status; - } - - public String getIsonline() { - return isonline; - } - - public void setIsonline(String isonline) { - this.isonline = isonline; - } - - public String getCreateBy() { - return createBy; - } - - public void setCreateBy(String createBy) { - this.createBy = createBy; - } - - public Date getCreateTime() { - return createTime; - } - - public void setCreateTime(Date createTime) { - this.createTime = createTime; - } - - public String getUpdateBy() { - return updateBy; - } - - public void setUpdateBy(String updateBy) { - this.updateBy = updateBy; - } - - public Date getUpdateTime() { - return updateTime; - } - - public void setUpdateTime(Date updateTime) { - this.updateTime = updateTime; - } - - /** - * 获取主键值 - * - * @return 主键值 - */ - @Override - protected Serializable pkVal() { - return this.id; - } } diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValue/service/impl/CardValueRecordServiceImpl.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValue/service/impl/CardValueRecordServiceImpl.java index d3280652c..b8245c543 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValue/service/impl/CardValueRecordServiceImpl.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValue/service/impl/CardValueRecordServiceImpl.java @@ -177,10 +177,10 @@ public class CardValueRecordServiceImpl extends ServiceImpl implemen */ @Override public List selectDutyList() { - return baseMapper.selectList(null); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("duty_type","4"); + return baseMapper.selectList(queryWrapper); } /** diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/member/service/impl/LJStaffServiceImpl.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/member/service/impl/LJStaffServiceImpl.java index 45565136a..7ff4952f7 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/member/service/impl/LJStaffServiceImpl.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/member/service/impl/LJStaffServiceImpl.java @@ -108,7 +108,7 @@ public class LJStaffServiceImpl extends ServiceImpl impl @Override public void deleteStaffByIds(Integer[] ids) { for (int id : ids){ - baseMapper.deleteById(id); + this.deleteStaffById(id); } } @@ -118,6 +118,8 @@ public class LJStaffServiceImpl extends ServiceImpl impl */ @Override public void deleteStaffById(Integer id) { + LJStaff staff = this.selectStaffById(id); + accountService.deleteAccountByUserName(staff.getMobile()); baseMapper.deleteById(id); } @@ -152,7 +154,7 @@ public class LJStaffServiceImpl extends ServiceImpl impl account.setAccountName(staff.getMobile()); account.setAccountStatus(1); account.setRealName(staff.getRealName()); - account.setRoleIds("0"); + account.setRoleIds(staff.getRoleId()); account.setStaffId(staff1.getId()); account.setCreateTime(new Date()); account.setUpdateTime(new Date()); diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/mapper/OilOrderMapper.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/mapper/OilOrderMapper.java index 4d06ba36e..fb99640e9 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/mapper/OilOrderMapper.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/mapper/OilOrderMapper.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.fuint.business.largeSscreen.vo.OilOrderVO; +import com.fuint.business.marketingActivity.activeDiscount.vo.ActiveConsumptionVO; import com.fuint.business.marketingActivity.activeDiscount.vo.ActiveDiscountPayVO; import com.fuint.business.order.entity.OilOrder; import com.fuint.business.order.vo.Excel.OilOrderExcel; @@ -11,6 +12,7 @@ import com.fuint.business.order.vo.OilOrderVo; import com.fuint.business.petrolStationManagement.entity.OilNumber; import org.apache.ibatis.annotations.Param; +import java.math.BigDecimal; import java.util.List; import java.util.Map; @@ -81,7 +83,7 @@ public interface OilOrderMapper extends BaseMapper { * @param amount * @return */ - List selectActiveDiscount(@Param("storeId") Integer storeId, @Param("amount")double amount); + List selectActiveDiscount(@Param("storeId") Integer storeId, @Param("amount") BigDecimal amount); /** * 满减 @@ -89,5 +91,13 @@ public interface OilOrderMapper extends BaseMapper { * @param amount * @return */ - List selectActiveFule(@Param("storeId") Integer storeId, @Param("amount")double amount); + List selectActiveFule(@Param("storeId") Integer storeId, @Param("amount")BigDecimal amount); + + /** + * 消费有礼 + * @param storeId + * @param amount + * @return + */ + List selectActiveConsumption(@Param("storeId") Integer storeId, @Param("amount")BigDecimal amount); } diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/mapper/xml/OilOrderMapper.xml b/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/mapper/xml/OilOrderMapper.xml index eeab45c4d..1bdcb5adb 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/mapper/xml/OilOrderMapper.xml +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/mapper/xml/OilOrderMapper.xml @@ -371,4 +371,21 @@ and adc.amount <= #{amount} + + SELECT + ac.id activeId, + ac.NAME activeName, + ac.diesel_user_level adaptUser, + ac.adapt_oil oilId, + ac.points points, + ac.participation_condition_money amount, + acc.active_gift activeGift, + acc.vouchers_id vouchersId + FROM + active_consumption ac + LEFT JOIN active_consumption_child acc ON ac.id = acc.active_consumption_id + where ac.store_id = #{storeId} + and ac.participation_condition_money <= #{amount} + + diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/service/impl/OilOrderServiceImpl.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/service/impl/OilOrderServiceImpl.java index 3592729a1..e5280584c 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/service/impl/OilOrderServiceImpl.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/service/impl/OilOrderServiceImpl.java @@ -743,8 +743,8 @@ public class OilOrderServiceImpl extends ServiceImpl i oilOrder.setTankId(tankId); - Map applet = null; - + Map applet = new HashMap<>(); + applet.put("success",""); if (!map.get("payAmount").equals("0")) { // 调用支付接口 // 判断是否开启支付规则 @@ -777,6 +777,7 @@ public class OilOrderServiceImpl extends ServiceImpl i oilOrder.setPayTime(new Date()); oilOrder.setOrderStatus("paid"); baseMapper.updateById(oilOrder); + applet.put("success","ok"); } return applet; } @@ -885,7 +886,7 @@ public class OilOrderServiceImpl extends ServiceImpl i Integer dieselGrowthValue = null; Integer naturalGrowthValue = null; LJStore store = storeService.selectStoreByStoreId(storeId); - UserBalance balance = userBalanceService.selectUserBalanceByStorId(userid,storeId); + UserBalance balance = userBalanceService.selectUserBalance(userid,store.getChainStoreId()); int growth = balance.getGrowthValue(); balance.setRefuelMoney(refuelMoney); // 查询会员等级列表信息 @@ -944,15 +945,18 @@ public class OilOrderServiceImpl extends ServiceImpl i AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo(); // 根据用户id查询用户余额信息 LJStore store = storeService.selectStoreByStoreId(storeId); - UserBalance balance = userBalanceService.selectUserBalanceByStorId(userId,storeId); -// 修改余额信息 - Double beforeBalance = balance.getCardBalance(); - Double afterBalance = beforeBalance - amount; - balance.setCardBalance(afterBalance); + UserBalance balance = userBalanceService.selectUserBalance(userId,store.getChainStoreId()); + if (ObjectUtil.isNotEmpty(balance)){ + // 修改余额信息 + Double beforeBalance = balance.getCardBalance(); + Double afterBalance = beforeBalance - amount; + balance.setCardBalance(afterBalance); // 修改加油次数 - Integer consumeNum = balance.getConsumeNum(); - balance.setConsumeNum(consumeNum+1); - userBalanceService.updateUserBalance(balance); + Integer consumeNum = balance.getConsumeNum(); + balance.setConsumeNum(consumeNum+1); + userBalanceService.updateUserBalance(balance); + } + // 添加余额记录信息 CardBalanceChange cardBalanceChange = new CardBalanceChange(); cardBalanceChange.setUserId(userId); diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/controller/ExportController.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/controller/ExportController.java index e1f584a3f..7ce8af284 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/controller/ExportController.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/controller/ExportController.java @@ -57,7 +57,7 @@ public class ExportController extends BaseController{ if (list.size() >= 1) { for (int i = 0; i < list.size(); i++) { LJUserVo user = (LJUserVo) list.get(i); - LJUser user1 = service.selectUserByMobile(user.getMobile()); + LJUserVo user1 = service.selectUserByMobileAndChantStoreId(user.getMobile()); if (user1!=null){ repeat += 1; }else { diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/controller/LJUserController.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/controller/LJUserController.java index 263b6be9f..b547f876b 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/controller/LJUserController.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/controller/LJUserController.java @@ -113,6 +113,17 @@ public class LJUserController extends BaseController { return getSuccessResult(user); } + /** + * 根据storeId查询会员信息 + * @param storeId + * @return + */ + @GetMapping("/storeUser/{storeId}") + public ResponseObject userVoInfo(@PathVariable Integer storeId){ + LJUserVo user = userService.queryUserByStoreId(storeId); + return getSuccessResult(user); + } + @GetMapping("/getByUniApp") public ResponseObject getByUniApp(Integer chainStoreId){ LJUserVo user = userService.getByUniApp(chainStoreId); @@ -128,6 +139,18 @@ public class LJUserController extends BaseController { return getSuccessResult(userBalanceService.getUserBalance()); } + /** + * 根据手机号查询会员信息 + * @param map + * @return + */ + @PostMapping("/phone") + public ResponseObject userInfoByPhone(@Validated @RequestBody Map map){ + String mobile = map.get("mobile"); + LJUserVo user = userService.selectUserByMobileAndChantStoreId(mobile); + return getSuccessResult(user); + } + /** * 根据手机号查询会员信息 * @param map diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/controller/LJUserGradeController.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/controller/LJUserGradeController.java index 5fd7678dd..f3f2f3564 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/controller/LJUserGradeController.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/controller/LJUserGradeController.java @@ -6,16 +6,19 @@ import com.fuint.business.userManager.entity.LJUserGrade; import com.fuint.business.userManager.service.LJUserGradeService; import com.fuint.framework.web.BaseController; import com.fuint.framework.web.ResponseObject; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import java.util.HashMap; import java.util.Map; /** * 会员等级信息 controller层 */ @RestController +@Slf4j @RequestMapping("/business/userManager/userGrade") public class LJUserGradeController extends BaseController { @Autowired @@ -72,13 +75,21 @@ public class LJUserGradeController extends BaseController { /** * 根据id查询会员等级信息 - * @param id + * @param map * @return */ - @GetMapping("/isUse/{id}") - public ResponseObject userGrade(@PathVariable Integer id){ - LJUserGrade userGrade = userGradeService.selectUserGradeByIdIsUse(id); - return getSuccessResult(userGrade); + @PostMapping("/isUse") + public ResponseObject userGrade(@RequestBody Map map){ + Map map1 =new HashMap<>(); + try { + Integer userId = Integer.valueOf(map.get("userId")); + String storeId = map.get("storeId"); + String gradeId = map.get("gradeId"); + map1 = userGradeService.selectUserGradeByIdIsUse(userId, storeId, gradeId); + }catch (Exception e){ + log.error(e.getMessage()); + } + return getSuccessResult(map1); } /** diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/mapper/LJUserMapper.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/mapper/LJUserMapper.java index 2a860228c..05a76cf3a 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/mapper/LJUserMapper.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/mapper/LJUserMapper.java @@ -28,6 +28,13 @@ public interface LJUserMapper extends BaseMapper { */ public List queryUserList(@Param("storeId") int storeId); + /** + * 根据手机号和连锁店id查询会员信息 + * @param mobile + * @return + */ + public LJUserVo selectUserByMobileAndChantStoreId(@Param("mobile") String mobile,@Param("chainStoreId") int chainStoreId); + /** * 根据id查询用户信息 * @param id @@ -35,6 +42,13 @@ public interface LJUserMapper extends BaseMapper { */ public LJUserVo selectUserById(@Param("id") Integer id); + /** + * 根据连锁店id查询用户信息 + * @param chainStoreId + * @return + */ + public LJUserVo queryUserByChainStoreId(@Param("userId") int userId,@Param("chainStoreId") int chainStoreId); + /** * uniapp使用 * @param id diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/mapper/xml/LJUserMapper.xml b/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/mapper/xml/LJUserMapper.xml index 3bf11ae1c..18a2feca5 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/mapper/xml/LJUserMapper.xml +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/mapper/xml/LJUserMapper.xml @@ -4,22 +4,25 @@ select mu.*,mub.grade_id,mub.card_balance,mub.points,mub.consume_num,mub.growth_value,mub.refuel_money, mub.second_card,mub.fixing_level, - mi.storeId,mi.staffId,mi.inviterId,mi.chain_store_id from mt_user mu - left join mt_user_balance mub on mu.id = mub.mt_user_id - left join mt_invitation mi on mu.id = mi.userId + mi.storeId,mi.staffId,mi.inviterId,mub.chain_store_id from mt_user mu + inner join mt_user_balance mub on mu.id = mub.mt_user_id + inner join mt_invitation mi on mu.id = mi.userId + + + select mu.*,mub.grade_id,mub.card_balance,mub.points,mub.consume_num,mub.growth_value,mub.refuel_money, + mub.second_card,mub.fixing_level + FROM mt_user mu + LEFT JOIN mt_user_balance mub ON mu.id = mub.mt_user_id - + - and mi.chain_store_id = #{user.chainStoreId} + and mub.chain_store_id = #{user.chainStoreId} - and mi.storeId = #{user.storeId} - - - and mi.storeId = #{user.storeId} + and mub.store_id = #{user.storeId} and mu.mobile like concat('%', #{user.mobile}, '%') @@ -57,7 +60,7 @@ - + mu.mobile = #{mobile} @@ -70,6 +73,24 @@ + + select mu.*,mub.grade_id,mub.card_balance,mub.points,mub.consume_num,mub.growth_value,mub.refuel_money, + mub.second_card,mub.fixing_level,mub.chain_store_id from mt_user mu + inner join mt_user_balance mub on mu.id = mub.mt_user_id + + mu.mobile = #{mobile} and + mub.chain_store_id = #{chainStoreId} + + + + + + + mu.id = #{userId} and + mub.chain_store_id = #{chainStoreId} + + + select mu.*, mub.id balanceId, diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/service/CertifiedMemberService.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/service/CertifiedMemberService.java index e3b6969f2..13adbcd48 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/service/CertifiedMemberService.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/service/CertifiedMemberService.java @@ -24,12 +24,20 @@ public interface CertifiedMemberService extends IService { public CertifiedMember selectCertifiedMemberById(int id); /** - * 根据会员id查询认证会员信息 + * 根据会员id和店铺id查询认证会员信息 * @param userId * @return */ public CertifiedMember selectCertifiedMemberByUserId(int userId); + /** + * 根据会员id和店铺id查询认证会员信息 + * @param userId + * @param storeId + * @return + */ + public CertifiedMember selectCertifiedMemberByUserIdAndStoreId(int userId,String storeId); + /** * 根据固定等级id删除认证会员信息 * @param fixingLevelId diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/service/LJUserGradeService.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/service/LJUserGradeService.java index 844c133d3..8e5c08285 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/service/LJUserGradeService.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/service/LJUserGradeService.java @@ -7,6 +7,7 @@ import com.fuint.business.userManager.entity.LJUserGrade; import com.fuint.repository.model.MtUserGrade; import java.util.List; +import java.util.Map; /** * 会员等级信息 业务层 @@ -47,10 +48,12 @@ public interface LJUserGradeService extends IService { /** * 根据id查询会员等级信息是否可使用 - * @param id + * @param userId + * @param storeId + * @param gradeId * @return */ - public LJUserGrade selectUserGradeByIdIsUse(int id); + public Map selectUserGradeByIdIsUse(Integer userId, String storeId, String gradeId); /** * 根据会员等级名称查询会员等级信息 diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/service/LJUserService.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/service/LJUserService.java index 3b076b38a..bee8e7235 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/service/LJUserService.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/service/LJUserService.java @@ -28,6 +28,12 @@ public interface LJUserService extends IService { */ LJUser selectUserByUserId(); + /** + * 根据id查询用户信息 + * @return + */ + LJUser queryUserByUserId(int userId); + /** * * @return @@ -53,6 +59,20 @@ public interface LJUserService extends IService { */ public LJUserVo selectUserById(int id); + /** + * 根据storeId获取连锁店id 根据连锁店id查询用户信息 + * @param storeId + * @return + */ + public LJUserVo queryUserByStoreId(int storeId); + + /** + * 根据手机号和连锁店id查询会员信息 + * @param mobile + * @return + */ + public LJUserVo selectUserByMobileAndChantStoreId(String mobile); + public LJUserVo getByUniApp(Integer chainStoreId); diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/service/impl/CertifiedMemberServiceImpl.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/service/impl/CertifiedMemberServiceImpl.java index 968db17e7..c5d5c795c 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/service/impl/CertifiedMemberServiceImpl.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/service/impl/CertifiedMemberServiceImpl.java @@ -1,5 +1,6 @@ package com.fuint.business.userManager.service.impl; +import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson2.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -10,6 +11,7 @@ import com.fuint.business.userManager.entity.LJUser; import com.fuint.business.userManager.mapper.CertifiedMemberMapper; import com.fuint.business.userManager.service.CertifiedMemberService; import com.fuint.business.userManager.service.LJUserService; +import com.fuint.business.userManager.vo.LJUserVo; import com.fuint.common.dto.AccountInfo; import com.fuint.common.util.StringUtils; import com.fuint.common.util.TokenUtil; @@ -57,14 +59,30 @@ public class CertifiedMemberServiceImpl extends ServiceImpl(); queryWrapper.eq("user_id",userId); + queryWrapper.eq("store_id",nowAccountInfo.getStoreId()); + CertifiedMember certifiedMember = baseMapper.selectOne(queryWrapper); + return certifiedMember; + } + + @Override + public CertifiedMember selectCertifiedMemberByUserIdAndStoreId(int userId, String storeId) { + AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("user_id",userId); + if (StringUtils.isNotEmpty(storeId)){ + queryWrapper.eq("store_id",storeId); + }else { + queryWrapper.eq("store_id",nowAccountInfo.getStoreId()); + } CertifiedMember certifiedMember = baseMapper.selectOne(queryWrapper); return certifiedMember; } @@ -113,8 +131,8 @@ public class CertifiedMemberServiceImpl extends ServiceImpl(); diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/service/impl/LJUserGradeServiceImpl.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/service/impl/LJUserGradeServiceImpl.java index 6fe720dd9..b24b6d8c1 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/service/impl/LJUserGradeServiceImpl.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/service/impl/LJUserGradeServiceImpl.java @@ -1,5 +1,6 @@ package com.fuint.business.userManager.service.impl; +import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -9,10 +10,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.fuint.business.storeInformation.entity.LJStore; import com.fuint.business.storeInformation.service.ILJStoreService; +import com.fuint.business.userManager.entity.CertifiedMember; import com.fuint.business.userManager.entity.ChainStoreConfig; +import com.fuint.business.userManager.entity.FixingLevel; import com.fuint.business.userManager.entity.LJUserGrade; import com.fuint.business.userManager.mapper.LJUserGradeMapper; +import com.fuint.business.userManager.service.CertifiedMemberService; import com.fuint.business.userManager.service.ChainStoreConfigService; +import com.fuint.business.userManager.service.FixingLevelService; import com.fuint.business.userManager.service.LJUserGradeService; import com.fuint.common.dto.AccountInfo; import com.fuint.common.util.StringUtils; @@ -20,9 +25,12 @@ import com.fuint.common.util.TokenUtil; import com.fuint.repository.model.MtUserGrade; import com.fuint.system.config.service.SysConfigService; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; +import java.util.HashMap; import java.util.List; +import java.util.Map; @Service public class LJUserGradeServiceImpl extends ServiceImpl implements LJUserGradeService { @@ -79,21 +87,40 @@ public class LJUserGradeServiceImpl extends ServiceImpl selectUserGradeByIdIsUse(Integer userId, String storeId, String gradeId) { + Map res = new HashMap<>(); +// 查询此会员是否认证固定等级信息 + CertifiedMember certifiedMember = certifiedMemberService.selectCertifiedMemberByUserIdAndStoreId(userId, storeId); + if (ObjectUtil.isNotEmpty(certifiedMember)){ + FixingLevel fixingLevel = fixingLevelService.selectFixingLevelById(certifiedMember.getFixingLevelId()); + if (fixingLevel.getStatus().equals("qy")){ + res.put("fixingLevel",fixingLevel); + } + }else { + LJStore store = storeService.selectStoreById(); + ChainStoreConfig chainStoreConfig = chainStoreConfigService.selectChainStoreById(store.getChainStoreId()); + String isEnableLevel = chainStoreConfig.getIsEnableLevel(); + if (isEnableLevel.equals("yes")){ + if (StringUtils.isNotEmpty(gradeId)){ + LJUserGrade ljUserGrade = baseMapper.selectById(Integer.valueOf(gradeId)); + if (ljUserGrade.getStatus().equals("qy")){ + res.put("userGrade",baseMapper.selectById(Integer.valueOf(gradeId))); + return res; + }else { + return null; + } + } } } - return null; + return res; } @Override diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/service/impl/LJUserServiceImpl.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/service/impl/LJUserServiceImpl.java index 69f8b1964..dba8449e9 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/service/impl/LJUserServiceImpl.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/service/impl/LJUserServiceImpl.java @@ -69,6 +69,11 @@ public class LJUserServiceImpl extends ServiceImpl impleme return baseMapper.selectById(nowAccountInfo.getId()); } + @Override + public LJUser queryUserByUserId(int userId) { + return baseMapper.selectById(userId); + } + @Override public LJUser queryUserByUserId() { return null; @@ -130,6 +135,24 @@ public class LJUserServiceImpl extends ServiceImpl impleme return baseMapper.selectUserById(id); } + @Override + public LJUserVo queryUserByStoreId(int storeId) { + AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo(); + LJStore store = storeService.selectStoreByStoreId(storeId); + return baseMapper.queryUserByChainStoreId(nowAccountInfo.getId(),store.getChainStoreId()); + } + + @Override + public LJUserVo selectUserByMobileAndChantStoreId(String mobile) { + AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo(); + LJStore store = storeService.selectStoreByStoreId(nowAccountInfo.getStoreId()); + LJUserVo ljUserVo = new LJUserVo(); + if (ObjectUtil.isNotEmpty(store)){ + ljUserVo = baseMapper.selectUserByMobileAndChantStoreId(mobile,store.getChainStoreId()); + } + return ljUserVo; + } + @Resource UserBalanceService userBalanceService; @@ -249,16 +272,24 @@ public class LJUserServiceImpl extends ServiceImpl impleme user1.setStatus(user.getStatus()); user1.setDescription(user.getDescription()); user1.setOfficial(user.getOfficial()); - int row = baseMapper.insert(user1); - -// 查询添加后的用户id + // 查询添加后的用户id LJUser ljUser = this.selectUserByMobile(user.getMobile()); + int row = 0; + if (ObjectUtil.isEmpty(ljUser)){ + row = baseMapper.insert(user1); + ljUser = this.selectUserByMobile(user.getMobile()); + } + +// 根据店铺id查询店铺所对应的连锁店id + LJStore store = storeService.selectStoreByStoreId(storeId); + // 添加用户储值卡信息 UserBalance balance = new UserBalance(); balance.setMtUserId(ljUser.getId()); balance.setCardBalance(user.getCardBalance()); balance.setPoints(user.getPoints()); balance.setStoreId(storeId); + balance.setChainStoreId(store.getChainStoreId()); if (user.getGradeId()!=null){ balance.setGradeId(user.getGradeId()); }else { @@ -270,17 +301,15 @@ public class LJUserServiceImpl extends ServiceImpl impleme balance.setFixingLevel(user.getFixingLevel()); balanceService.insertUserBalance(balance); Integer chainStoreId = null; -// 根据店铺id查询店铺所对应的连锁店id - LJStore store = storeService.selectStoreByStoreId(storeId); - if (!ObjectUtil.isEmpty(store)){ - chainStoreId = store.getChainStoreId(); - } // 添加邀请注册信息 MtInvitation invitation = new MtInvitation(); + if (ObjectUtil.isNotEmpty(store)){ + chainStoreId = store.getChainStoreId(); + invitation.setChainStoreId(chainStoreId); + } invitation.setUserId(ljUser.getId()); invitation.setStoreId(storeId); invitation.setStaffId(nowAccountInfo.getStaffId()); - invitation.setChainStoreId(chainStoreId); invitation.setStatus("qy"); invitationMapper.insert(invitation); return row; diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/common/service/AccountService.java b/fuintBackend/fuint-application/src/main/java/com/fuint/common/service/AccountService.java index 9f0d3bad0..a26173a28 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/common/service/AccountService.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/common/service/AccountService.java @@ -61,6 +61,12 @@ public interface AccountService extends IService { */ TAccount selectAccountByUserName(String accountName); + /** + * 根据用户名删除账户信息 + * @param accountName + */ + void deleteAccountByUserName(String accountName); + /** * 获取账号角色ID * diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/common/service/impl/AccountServiceImpl.java b/fuintBackend/fuint-application/src/main/java/com/fuint/common/service/impl/AccountServiceImpl.java index fed4873af..99fc8659b 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/common/service/impl/AccountServiceImpl.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/common/service/impl/AccountServiceImpl.java @@ -208,6 +208,7 @@ public class AccountServiceImpl extends ServiceImpl im account.setStoreId(tAccount.getStoreId()); account.setDeptId(tAccount.getDeptId()); account.setPassword(tAccount.getPassword()); + account.setStaffId(tAccount.getStaffId()); this.entryptPassword(account); int id = tAccountMapper.insert(account); @@ -234,6 +235,14 @@ public class AccountServiceImpl extends ServiceImpl im return baseMapper.selectOne(queryWrapper); } + @Override + public void deleteAccountByUserName(String accountName) { + TAccount tAccount = this.selectAccountByUserName(accountName); + if (ObjectUtil.isNotEmpty(tAccount)){ + baseMapper.deleteById(tAccount.getAcctId()); + } + } + /** * 获取账号角色ID * diff --git a/fuintBackend/fuint-application/src/main/resources/application.properties b/fuintBackend/fuint-application/src/main/resources/application.properties index ea3374b24..486e6e578 100644 --- a/fuintBackend/fuint-application/src/main/resources/application.properties +++ b/fuintBackend/fuint-application/src/main/resources/application.properties @@ -1,8 +1,8 @@ # \u57FA\u672C\u914D\u7F6E -server.port=8008 +server.port=8080 env.profile=dev #env.properties.path=D:/workspaces/oilSystem/fuintBackend/configure/ -env.properties.path=D:/code/oilSystem/fuintBackend/configure/ +env.properties.path=D:/workspaces/oilSystem/fuintBackend/configure/ diff --git a/fuintCashierWeb/src/api/cashier/user.js b/fuintCashierWeb/src/api/cashier/user.js index dee7cc37d..548f91d6a 100644 --- a/fuintCashierWeb/src/api/cashier/user.js +++ b/fuintCashierWeb/src/api/cashier/user.js @@ -26,6 +26,15 @@ export function getUserVoMobile(data) { }) } +// 根据手机号查询会员详细 +export function getUserInfoMobile(data) { + return request({ + url: '/business/userManager/user/phone', + method: 'post', + data: data + }) +} + // 根据手机号查询会员详细 export function getUserVoName(data) { return request({ diff --git a/fuintCashierWeb/src/api/cashier/usergrade.js b/fuintCashierWeb/src/api/cashier/usergrade.js index b2147500a..5757a43cd 100644 --- a/fuintCashierWeb/src/api/cashier/usergrade.js +++ b/fuintCashierWeb/src/api/cashier/usergrade.js @@ -18,10 +18,11 @@ export function getUserGrade(id) { } // 查询会员等级详细是否能使用 -export function userGradeInfo(id) { +export function userGradeInfo(data) { return request({ - url: '/business/userManager/userGrade/isUse/' + id, - method: 'get' + url: '/business/userManager/userGrade/isUse', + method: 'post', + data:data, }) } diff --git a/fuintCashierWeb/src/views/cashier/NewComponents/homeindex.vue b/fuintCashierWeb/src/views/cashier/NewComponents/homeindex.vue index f230f5f0f..5ed28099d 100644 --- a/fuintCashierWeb/src/views/cashier/NewComponents/homeindex.vue +++ b/fuintCashierWeb/src/views/cashier/NewComponents/homeindex.vue @@ -786,7 +786,7 @@ import {getDicts} from "@/api/dict/data"; import {getOilNameList, getOilNumGun, listOilNumGun} from "@/api/cashier/oilnumgun"; import {listgoods} from "@/api/cashier/ljgoods"; - import {getUserVoMobile, getUserVoName} from "@/api/cashier/user"; + import {getUserInfoMobile, getUserVoMobile, getUserVoName} from "@/api/cashier/user"; import {queryStaffs, staffInfo} from "@/api/cashier/staff"; import {addLJGoods, goodsOrder, oilOrder, scanAppletQrCode} from "@/api/cashier/oilorder"; import {getUserGrade, listUserGrade, userGradeInfo} from "@/api/cashier/usergrade"; @@ -1451,228 +1451,456 @@ this.handleChange(); }, // 根据会员等级信息获取等级优惠信息 - getGrade(id){ + getGrade(userId,gradeId){ let _this = this; this.oilDiscount = 0; this.gradeDiscount = []; - userGradeInfo(id).then(response => { + userGradeInfo({userId:userId,gradeId:gradeId,storeId:""}).then(response => { let gasolineDiscount = 0; let dieselDiscount = 0; let naturalGasDiscount = 0; _this.gradeDiscount = []; - if (response.data!=null) { + if (response.data) { _this.oilOrder.forEach(item => { let discount = {type: "", full: 0, reduce: 0, liters: 0} if (item.type == "汽油") { - let gasolineRule = JSON.parse(response.data.gasolineRule).sort((a,b) => a.gasolineRule1 - b.gasolineRule1); - if (response.data.preferential == '自定义优惠' && response.data.status == 'qy') { - if (response.data.gasolineDiscount == "满减优惠") { - let oilDiscount = 0; - discount.type = "满减优惠" - for (let i = 1; i <= gasolineRule.length; i++) { - // 将满减条件加入等级优惠列表 - if (gasolineRule.length > 1) { - if (item.amount >= gasolineRule[gasolineRule.length - 1].gasolineRule1) { - discount.full = gasolineRule[gasolineRule.length - 1].gasolineRule1 - oilDiscount = gasolineRule[gasolineRule.length - 1].gasolineRule2 - discount.reduce = gasolineRule[gasolineRule.length - 1].gasolineRule2 - break; - } - if (item.amount >= gasolineRule[i - 1].gasolineRule1 && item.amount < gasolineRule[i].gasolineRule1) { - discount.full = gasolineRule[i - 1].gasolineRule1 - oilDiscount = gasolineRule[i - 1].gasolineRule2 - discount.reduce = gasolineRule[i - 1].gasolineRule2 - } - } else { - if (item.amount >= gasolineRule[i - 1].gasolineRule1) { - discount.full = gasolineRule[i - 1].gasolineRule1 - oilDiscount = gasolineRule[i - 1].gasolineRule2 - discount.reduce = gasolineRule[i - 1].gasolineRule2 + if (response.data.fixingLevel){ + let gasolineRule = JSON.parse(response.data.fixingLevel.gasolineRule).sort((a, b) => a.gasolineRule1 - b.gasolineRule1); + if (response.data.fixingLevel.discountType == '自定义优惠' && response.data.fixingLevel.status == 'qy') { + if (response.data.fixingLevel.gasolineDiscount == "满减优惠") { + let oilDiscount = 0; + discount.type = "满减优惠" + for (let i = 1; i <= gasolineRule.length; i++) { + // 将满减条件加入等级优惠列表 + if (gasolineRule.length > 1) { + if (item.amount >= gasolineRule[gasolineRule.length - 1].gasolineRule1) { + discount.full = gasolineRule[gasolineRule.length - 1].gasolineRule1 + oilDiscount = gasolineRule[gasolineRule.length - 1].gasolineRule2 + discount.reduce = gasolineRule[gasolineRule.length - 1].gasolineRule2 + break; + } + if (item.amount >= gasolineRule[i - 1].gasolineRule1 && item.amount < gasolineRule[i].gasolineRule1) { + discount.full = gasolineRule[i - 1].gasolineRule1 + oilDiscount = gasolineRule[i - 1].gasolineRule2 + discount.reduce = gasolineRule[i - 1].gasolineRule2 + } + } else { + if (item.amount >= gasolineRule[i - 1].gasolineRule1) { + discount.full = gasolineRule[i - 1].gasolineRule1 + oilDiscount = gasolineRule[i - 1].gasolineRule2 + discount.reduce = gasolineRule[i - 1].gasolineRule2 + } } } - } - if (discount.reduce != 0) { - _this.gradeDiscount.push(discount) - _this.checkedCities2.push('满减优惠') - } - gasolineDiscount += +oilDiscount - } else if (response.data.gasolineDiscount == "每升优惠") { - discount.type = "每升优惠" - let oilDiscount = 0; - for (let i = 1; i <= gasolineRule.length; i++) { - // 将满减条件加入等级优惠列表 - if (gasolineRule.length > 1) { - if (item.amount >= gasolineRule[gasolineRule.length - 1].gasolineRule1) { - discount.full = gasolineRule[gasolineRule.length - 1].gasolineRule1 - oilDiscount = (item.liters * gasolineRule[gasolineRule.length - 1].gasolineRule3).toFixed(2); - discount.reduce = (item.liters * gasolineRule[gasolineRule.length - 1].gasolineRule3).toFixed(2); - discount.liters = gasolineRule[i - 1].gasolineRule3 - break; - } - if (item.amount >= gasolineRule[i - 1].gasolineRule1 && item.amount < gasolineRule[i].gasolineRule1) { - discount.full = gasolineRule[i - 1].gasolineRule1 - oilDiscount = (item.liters * gasolineRule[i - 1].gasolineRule3).toFixed(2) - discount.reduce = (item.liters * gasolineRule[i - 1].gasolineRule3).toFixed(2) - discount.liters = gasolineRule[i - 1].gasolineRule3 - } - } else { - if (item.amount >= gasolineRule[i - 1].gasolineRule1) { - discount.full = gasolineRule[i - 1].gasolineRule1 - oilDiscount = (item.liters * gasolineRule[i - 1].gasolineRule3).toFixed(2) - discount.reduce = (item.liters * gasolineRule[i - 1].gasolineRule3).toFixed(2) - discount.liters = gasolineRule[i - 1].gasolineRule3 + if (discount.reduce != 0) { + _this.gradeDiscount.push(discount) + _this.checkedCities2.push('满减优惠') + } + gasolineDiscount += +oilDiscount + } else if (response.data.fixingLevel.gasolineDiscount == "每升优惠") { + discount.type = "每升优惠" + let oilDiscount = 0; + for (let i = 1; i <= gasolineRule.length; i++) { + // 将满减条件加入等级优惠列表 + if (gasolineRule.length > 1) { + if (item.amount >= gasolineRule[gasolineRule.length - 1].gasolineRule1) { + discount.full = gasolineRule[gasolineRule.length - 1].gasolineRule1 + oilDiscount = (item.liters * gasolineRule[gasolineRule.length - 1].gasolineRule3).toFixed(2); + discount.reduce = (item.liters * gasolineRule[gasolineRule.length - 1].gasolineRule3).toFixed(2); + discount.liters = gasolineRule[i - 1].gasolineRule3 + break; + } + if (item.amount >= gasolineRule[i - 1].gasolineRule1 && item.amount < gasolineRule[i].gasolineRule1) { + discount.full = gasolineRule[i - 1].gasolineRule1 + oilDiscount = (item.liters * gasolineRule[i - 1].gasolineRule3).toFixed(2) + discount.reduce = (item.liters * gasolineRule[i - 1].gasolineRule3).toFixed(2) + discount.liters = gasolineRule[i - 1].gasolineRule3 + } + } else { + if (item.amount >= gasolineRule[i - 1].gasolineRule1) { + discount.full = gasolineRule[i - 1].gasolineRule1 + oilDiscount = (item.liters * gasolineRule[i - 1].gasolineRule3).toFixed(2) + discount.reduce = (item.liters * gasolineRule[i - 1].gasolineRule3).toFixed(2) + discount.liters = gasolineRule[i - 1].gasolineRule3 + } } } + if (discount.reduce != 0) { + _this.gradeDiscount.push(discount) + _this.checkedCities2.push('每升优惠') + } + gasolineDiscount += +oilDiscount + } else { + gasolineDiscount = 0; } - if (discount.reduce != 0) { - _this.gradeDiscount.push(discount) - _this.checkedCities2.push('每升优惠') + } + + }else { + if (response.data.userGrade) { + let gasolineRule = JSON.parse(response.data.userGrade.gasolineRule).sort((a, b) => a.gasolineRule1 - b.gasolineRule1); + if (response.data.userGrade.preferential == '自定义优惠' && response.data.userGrade.status == 'qy') { + if (response.data.userGrade.gasolineDiscount == "满减优惠") { + let oilDiscount = 0; + discount.type = "满减优惠" + for (let i = 1; i <= gasolineRule.length; i++) { + // 将满减条件加入等级优惠列表 + if (gasolineRule.length > 1) { + if (item.amount >= gasolineRule[gasolineRule.length - 1].gasolineRule1) { + discount.full = gasolineRule[gasolineRule.length - 1].gasolineRule1 + oilDiscount = gasolineRule[gasolineRule.length - 1].gasolineRule2 + discount.reduce = gasolineRule[gasolineRule.length - 1].gasolineRule2 + break; + } + if (item.amount >= gasolineRule[i - 1].gasolineRule1 && item.amount < gasolineRule[i].gasolineRule1) { + discount.full = gasolineRule[i - 1].gasolineRule1 + oilDiscount = gasolineRule[i - 1].gasolineRule2 + discount.reduce = gasolineRule[i - 1].gasolineRule2 + } + } else { + if (item.amount >= gasolineRule[i - 1].gasolineRule1) { + discount.full = gasolineRule[i - 1].gasolineRule1 + oilDiscount = gasolineRule[i - 1].gasolineRule2 + discount.reduce = gasolineRule[i - 1].gasolineRule2 + } + } + } + if (discount.reduce != 0) { + _this.gradeDiscount.push(discount) + _this.checkedCities2.push('满减优惠') + } + gasolineDiscount += +oilDiscount + } else if (response.data.userGrade.gasolineDiscount == "每升优惠") { + discount.type = "每升优惠" + let oilDiscount = 0; + for (let i = 1; i <= gasolineRule.length; i++) { + // 将满减条件加入等级优惠列表 + if (gasolineRule.length > 1) { + if (item.amount >= gasolineRule[gasolineRule.length - 1].gasolineRule1) { + discount.full = gasolineRule[gasolineRule.length - 1].gasolineRule1 + oilDiscount = (item.liters * gasolineRule[gasolineRule.length - 1].gasolineRule3).toFixed(2); + discount.reduce = (item.liters * gasolineRule[gasolineRule.length - 1].gasolineRule3).toFixed(2); + discount.liters = gasolineRule[i - 1].gasolineRule3 + break; + } + if (item.amount >= gasolineRule[i - 1].gasolineRule1 && item.amount < gasolineRule[i].gasolineRule1) { + discount.full = gasolineRule[i - 1].gasolineRule1 + oilDiscount = (item.liters * gasolineRule[i - 1].gasolineRule3).toFixed(2) + discount.reduce = (item.liters * gasolineRule[i - 1].gasolineRule3).toFixed(2) + discount.liters = gasolineRule[i - 1].gasolineRule3 + } + } else { + if (item.amount >= gasolineRule[i - 1].gasolineRule1) { + discount.full = gasolineRule[i - 1].gasolineRule1 + oilDiscount = (item.liters * gasolineRule[i - 1].gasolineRule3).toFixed(2) + discount.reduce = (item.liters * gasolineRule[i - 1].gasolineRule3).toFixed(2) + discount.liters = gasolineRule[i - 1].gasolineRule3 + } + } + } + if (discount.reduce != 0) { + _this.gradeDiscount.push(discount) + _this.checkedCities2.push('每升优惠') + } + gasolineDiscount += +oilDiscount + } else { + gasolineDiscount = 0; + } } - gasolineDiscount += +oilDiscount - } else { - gasolineDiscount = 0; + } } } if (item.type == "柴油") { - let dieselRule = JSON.parse(response.data.dieselRule).sort((a,b) => a.dieselRule1 - b.dieselRule1); - if (response.data.preferential == '自定义优惠' && response.data.status == 'qy') { - if (response.data.dieselDiscount == "满减优惠") { - let oilDiscount = 0; - discount.type = "满减优惠" - for (let i = 1; i <= dieselRule.length; i++) { - // 将满减条件加入等级优惠列表 - if (dieselRule.length > 1) { - if (item.amount >= dieselRule[dieselRule.length - 1].dieselRule1) { - discount.full = dieselRule[dieselRule.length - 1].dieselRule1 - oilDiscount = dieselRule[dieselRule.length - 1].dieselRule2 - discount.reduce = dieselRule[dieselRule.length - 1].dieselRule2 - break; - } - if (item.amount >= dieselRule[i - 1].dieselRule1 && item.amount < dieselRule[i].dieselRule1) { + if (response.data.fixingLevel){ + let dieselRule = JSON.parse(response.data.fixingLevel.dieselRule).sort((a, b) => a.dieselRule1 - b.dieselRule1); + if (response.data.fixingLevel.discountType == '自定义优惠' && response.data.fixingLevel.status == 'qy') { + if (response.data.fixingLevel.dieselDiscount == "满减优惠") { + let oilDiscount = 0; + discount.type = "满减优惠" + for (let i = 1; i <= dieselRule.length; i++) { + // 将满减条件加入等级优惠列表 + if (dieselRule.length > 1) { + if (item.amount >= dieselRule[dieselRule.length - 1].dieselRule1) { + discount.full = dieselRule[dieselRule.length - 1].dieselRule1 + oilDiscount = dieselRule[dieselRule.length - 1].dieselRule2 + discount.reduce = dieselRule[dieselRule.length - 1].dieselRule2 + break; + } + if (item.amount >= dieselRule[i - 1].dieselRule1 && item.amount < dieselRule[i].dieselRule1) { + discount.full = dieselRule[i - 1].dieselRule1 + oilDiscount = dieselRule[i - 1].dieselRule2 + discount.reduce = dieselRule[i - 1].dieselRule2 + } + } else { discount.full = dieselRule[i - 1].dieselRule1 - oilDiscount = dieselRule[i - 1].dieselRule2 - discount.reduce = dieselRule[i - 1].dieselRule2 - } - } else { - discount.full = dieselRule[i - 1].dieselRule1 - if (item.amount >= dieselRule[i - 1].dieselRule1) { - oilDiscount = dieselRule[i - 1].dieselRule2 - discount.reduce = dieselRule[i - 1].dieselRule2 + if (item.amount >= dieselRule[i - 1].dieselRule1) { + oilDiscount = dieselRule[i - 1].dieselRule2 + discount.reduce = dieselRule[i - 1].dieselRule2 + } } } - } - if (discount.reduce != 0) { - _this.gradeDiscount.push(discount) - _this.checkedCities2.push('满减优惠') - } - dieselDiscount += +oilDiscount - } else if (response.data.dieselDiscount == "每升优惠") { - let oilDiscount = 0; - for (let i = 1; i <= dieselRule.length; i++) { - discount.type = "每升优惠" - // 将满减条件加入等级优惠列表 - if (dieselRule.length > 1) { - if (item.amount >= dieselRule[dieselRule.length - 1].dieselRule1) { - discount.full = dieselRule[dieselRule.length - 1].dieselRule1 - oilDiscount = (item.liters * dieselRule[dieselRule.length - 1].dieselRule3).toFixed(2); - discount.reduce = (item.liters * dieselRule[dieselRule.length - 1].dieselRule3).toFixed(2); - discount.liters = dieselRule[dieselRule.length - 1].dieselRule3 - break; - } - if (item.amount >= dieselRule[i - 1].dieselRule1 && item.amount < dieselRule[i].dieselRule1) { + if (discount.reduce != 0) { + _this.gradeDiscount.push(discount) + _this.checkedCities2.push('满减优惠') + } + dieselDiscount += +oilDiscount + } else if (response.data.fixingLevel.dieselDiscount == "每升优惠") { + let oilDiscount = 0; + for (let i = 1; i <= dieselRule.length; i++) { + discount.type = "每升优惠" + // 将满减条件加入等级优惠列表 + if (dieselRule.length > 1) { + if (item.amount >= dieselRule[dieselRule.length - 1].dieselRule1) { + discount.full = dieselRule[dieselRule.length - 1].dieselRule1 + oilDiscount = (item.liters * dieselRule[dieselRule.length - 1].dieselRule3).toFixed(2); + discount.reduce = (item.liters * dieselRule[dieselRule.length - 1].dieselRule3).toFixed(2); + discount.liters = dieselRule[dieselRule.length - 1].dieselRule3 + break; + } + if (item.amount >= dieselRule[i - 1].dieselRule1 && item.amount < dieselRule[i].dieselRule1) { + discount.full = dieselRule[i - 1].dieselRule1 + oilDiscount = (item.liters * dieselRule[i - 1].dieselRule3).toFixed(2) + discount.reduce = (item.liters * dieselRule[i - 1].dieselRule3).toFixed(2) + discount.liters = dieselRule[i - 1].dieselRule3 + } + } else { discount.full = dieselRule[i - 1].dieselRule1 - oilDiscount = (item.liters * dieselRule[i - 1].dieselRule3).toFixed(2) - discount.reduce = (item.liters * dieselRule[i - 1].dieselRule3).toFixed(2) - discount.liters = dieselRule[i - 1].dieselRule3 - } - } else { - discount.full = dieselRule[i - 1].dieselRule1 - if (item.amount >= dieselRule[i - 1].dieselRule1) { - oilDiscount = (item.liters * dieselRule[i - 1].dieselRule3).toFixed(2) - discount.reduce = (item.liters * dieselRule[i - 1].dieselRule3).toFixed(2) - discount.liters = dieselRule[i - 1].dieselRule3 + if (item.amount >= dieselRule[i - 1].dieselRule1) { + oilDiscount = (item.liters * dieselRule[i - 1].dieselRule3).toFixed(2) + discount.reduce = (item.liters * dieselRule[i - 1].dieselRule3).toFixed(2) + discount.liters = dieselRule[i - 1].dieselRule3 + } } } + if (discount.reduce != 0) { + _this.gradeDiscount.push(discount) + _this.checkedCities2.push('每升优惠') + } + dieselDiscount += +oilDiscount + } else { + dieselDiscount = 0; } - if (discount.reduce != 0) { - _this.gradeDiscount.push(discount) - _this.checkedCities2.push('每升优惠') + } + + }else { + if (response.data.userGrade) { + let dieselRule = JSON.parse(response.data.userGrade.dieselRule).sort((a, b) => a.dieselRule1 - b.dieselRule1); + if (response.data.userGrade.preferential == '自定义优惠' && response.data.userGrade.status == 'qy') { + if (response.data.userGrade.dieselDiscount == "满减优惠") { + let oilDiscount = 0; + discount.type = "满减优惠" + for (let i = 1; i <= dieselRule.length; i++) { + // 将满减条件加入等级优惠列表 + if (dieselRule.length > 1) { + if (item.amount >= dieselRule[dieselRule.length - 1].dieselRule1) { + discount.full = dieselRule[dieselRule.length - 1].dieselRule1 + oilDiscount = dieselRule[dieselRule.length - 1].dieselRule2 + discount.reduce = dieselRule[dieselRule.length - 1].dieselRule2 + break; + } + if (item.amount >= dieselRule[i - 1].dieselRule1 && item.amount < dieselRule[i].dieselRule1) { + discount.full = dieselRule[i - 1].dieselRule1 + oilDiscount = dieselRule[i - 1].dieselRule2 + discount.reduce = dieselRule[i - 1].dieselRule2 + } + } else { + discount.full = dieselRule[i - 1].dieselRule1 + if (item.amount >= dieselRule[i - 1].dieselRule1) { + oilDiscount = dieselRule[i - 1].dieselRule2 + discount.reduce = dieselRule[i - 1].dieselRule2 + } + } + } + if (discount.reduce != 0) { + _this.gradeDiscount.push(discount) + _this.checkedCities2.push('满减优惠') + } + dieselDiscount += +oilDiscount + } else if (response.data.userGrade.dieselDiscount == "每升优惠") { + let oilDiscount = 0; + for (let i = 1; i <= dieselRule.length; i++) { + discount.type = "每升优惠" + // 将满减条件加入等级优惠列表 + if (dieselRule.length > 1) { + if (item.amount >= dieselRule[dieselRule.length - 1].dieselRule1) { + discount.full = dieselRule[dieselRule.length - 1].dieselRule1 + oilDiscount = (item.liters * dieselRule[dieselRule.length - 1].dieselRule3).toFixed(2); + discount.reduce = (item.liters * dieselRule[dieselRule.length - 1].dieselRule3).toFixed(2); + discount.liters = dieselRule[dieselRule.length - 1].dieselRule3 + break; + } + if (item.amount >= dieselRule[i - 1].dieselRule1 && item.amount < dieselRule[i].dieselRule1) { + discount.full = dieselRule[i - 1].dieselRule1 + oilDiscount = (item.liters * dieselRule[i - 1].dieselRule3).toFixed(2) + discount.reduce = (item.liters * dieselRule[i - 1].dieselRule3).toFixed(2) + discount.liters = dieselRule[i - 1].dieselRule3 + } + } else { + discount.full = dieselRule[i - 1].dieselRule1 + if (item.amount >= dieselRule[i - 1].dieselRule1) { + oilDiscount = (item.liters * dieselRule[i - 1].dieselRule3).toFixed(2) + discount.reduce = (item.liters * dieselRule[i - 1].dieselRule3).toFixed(2) + discount.liters = dieselRule[i - 1].dieselRule3 + } + } + } + if (discount.reduce != 0) { + _this.gradeDiscount.push(discount) + _this.checkedCities2.push('每升优惠') + } + dieselDiscount += +oilDiscount + } else { + dieselDiscount = 0; + } } - dieselDiscount += +oilDiscount - } else { - dieselDiscount = 0; + } } } if (item.type == "天然气") { - let naturalGasRule = JSON.parse(response.data.naturalGasRule).sort((a,b) => a.naturalGasRule1 - b.naturalGasRule1); - if (response.data.preferential == '自定义优惠' && response.data.status == 'qy') { - if (response.data.naturalGasDiscount == "满减优惠") { - let oilDiscount = 0; - discount.type = "满减优惠" - for (let i = 1; i <= naturalGasRule.length; i++) { - // 将满减条件加入等级优惠列表 - if (naturalGasRule.length > 1) { - if (item.amount >= naturalGasRule[naturalGasRule.length - 1].naturalGasRule1) { - discount.full = naturalGasRule[naturalGasRule.length - 1].naturalGasRule1 - oilDiscount = naturalGasRule[naturalGasRule.length - 1].naturalGasRule2; - discount.reduce = naturalGasRule[naturalGasRule.length - 1].naturalGasRule2 - break; - } - if (item.amount >= naturalGasRule[i - 1].naturalGasRule1 && item.amount < naturalGasRule[i].naturalGasRule1) { - discount.full = naturalGasRule[i - 1].naturalGasRule1 - oilDiscount = naturalGasRule[i - 1].naturalGasRule2 - discount.reduce = naturalGasRule[i - 1].naturalGasRule2 - } - } else { - if (item.amount >= naturalGasRule[i - 1].naturalGasRule1) { - discount.full = naturalGasRule[i - 1].naturalGasRule1 - oilDiscount = naturalGasRule[i - 1].naturalGasRule2 - discount.reduce = naturalGasRule[i - 1].naturalGasRule2 + if (response.data.fixingLevel){ + let naturalGasRule = JSON.parse(response.data.fixingLevel.naturalGasRule).sort((a, b) => a.naturalGasRule1 - b.naturalGasRule1); + if (response.data.fixingLevel.discountType == '自定义优惠' && response.data.fixingLevel.status == 'qy') { + if (response.data.fixingLevel.naturalGasDiscount == "满减优惠") { + let oilDiscount = 0; + discount.type = "满减优惠" + for (let i = 1; i <= naturalGasRule.length; i++) { + // 将满减条件加入等级优惠列表 + if (naturalGasRule.length > 1) { + if (item.amount >= naturalGasRule[naturalGasRule.length - 1].naturalGasRule1) { + discount.full = naturalGasRule[naturalGasRule.length - 1].naturalGasRule1 + oilDiscount = naturalGasRule[naturalGasRule.length - 1].naturalGasRule2; + discount.reduce = naturalGasRule[naturalGasRule.length - 1].naturalGasRule2 + break; + } + if (item.amount >= naturalGasRule[i - 1].naturalGasRule1 && item.amount < naturalGasRule[i].naturalGasRule1) { + discount.full = naturalGasRule[i - 1].naturalGasRule1 + oilDiscount = naturalGasRule[i - 1].naturalGasRule2 + discount.reduce = naturalGasRule[i - 1].naturalGasRule2 + } + } else { + if (item.amount >= naturalGasRule[i - 1].naturalGasRule1) { + discount.full = naturalGasRule[i - 1].naturalGasRule1 + oilDiscount = naturalGasRule[i - 1].naturalGasRule2 + discount.reduce = naturalGasRule[i - 1].naturalGasRule2 + } } } - } - if (discount.reduce != 0) { - _this.gradeDiscount.push(discount) - _this.checkedCities2.push('满减优惠') - } - naturalGasDiscount += +oilDiscount - } else if (response.data.naturalGasDiscount == "每单位优惠") { - let oilDiscount = 0; - discount.type = "每单位优惠" - for (let i = 1; i <= naturalGasRule.length; i++) { - // 将满减条件加入等级优惠列表 - if (naturalGasRule.length > 1) { - if (item.amount >= naturalGasRule[naturalGasRule.length - 1].naturalGasRule1) { - discount.full = naturalGasRule[naturalGasRule.length - 1].naturalGasRule1 - oilDiscount = (item.liters * naturalGasRule[gasolineRule.length - 1].naturalGasRule3).toFixed(2) - discount.reduce = (item.liters * naturalGasRule[gasolineRule.length - 1].naturalGasRule3).toFixed(2) - discount.liters = naturalGasRule[naturalGasRule.length - 1].naturalGasRule3 - break; - } - if (item.amount >= naturalGasRule[i - 1].naturalGasRule1 && item.amount < naturalGasRule[i].naturalGasRule1) { - discount.full = naturalGasRule[i - 1].naturalGasRule1 - oilDiscount = (item.liters * naturalGasRule[i - 1].naturalGasRule3).toFixed(2) - discount.reduce = (item.liters * naturalGasRule[i - 1].naturalGasRule3).toFixed(2) - discount.liters = naturalGasRule[i - 1].naturalGasRule3 - } - } else { - if (item.amount >= naturalGasRule[i - 1].naturalGasRule1) { - discount.full = naturalGasRule[i - 1].naturalGasRule1 - oilDiscount = (item.liters * naturalGasRule[i - 1].naturalGasRule3).toFixed(2) - discount.reduce = (item.liters * naturalGasRule[i - 1].naturalGasRule3).toFixed(2) - discount.liters = naturalGasRule[i - 1].naturalGasRule3 + if (discount.reduce != 0) { + _this.gradeDiscount.push(discount) + _this.checkedCities2.push('满减优惠') + } + naturalGasDiscount += +oilDiscount + } else if (response.data.fixingLevel.naturalGasDiscount == "每单位优惠") { + let oilDiscount = 0; + discount.type = "每单位优惠" + for (let i = 1; i <= naturalGasRule.length; i++) { + // 将满减条件加入等级优惠列表 + if (naturalGasRule.length > 1) { + if (item.amount >= naturalGasRule[naturalGasRule.length - 1].naturalGasRule1) { + discount.full = naturalGasRule[naturalGasRule.length - 1].naturalGasRule1 + oilDiscount = (item.liters * naturalGasRule[gasolineRule.length - 1].naturalGasRule3).toFixed(2) + discount.reduce = (item.liters * naturalGasRule[gasolineRule.length - 1].naturalGasRule3).toFixed(2) + discount.liters = naturalGasRule[naturalGasRule.length - 1].naturalGasRule3 + break; + } + if (item.amount >= naturalGasRule[i - 1].naturalGasRule1 && item.amount < naturalGasRule[i].naturalGasRule1) { + discount.full = naturalGasRule[i - 1].naturalGasRule1 + oilDiscount = (item.liters * naturalGasRule[i - 1].naturalGasRule3).toFixed(2) + discount.reduce = (item.liters * naturalGasRule[i - 1].naturalGasRule3).toFixed(2) + discount.liters = naturalGasRule[i - 1].naturalGasRule3 + } + } else { + if (item.amount >= naturalGasRule[i - 1].naturalGasRule1) { + discount.full = naturalGasRule[i - 1].naturalGasRule1 + oilDiscount = (item.liters * naturalGasRule[i - 1].naturalGasRule3).toFixed(2) + discount.reduce = (item.liters * naturalGasRule[i - 1].naturalGasRule3).toFixed(2) + discount.liters = naturalGasRule[i - 1].naturalGasRule3 + } } } + if (discount.reduce != 0) { + _this.gradeDiscount.push(discount) + _this.checkedCities2.push('每单位优惠') + } + naturalGasDiscount += +oilDiscount + } else { + naturalGasDiscount = 0; } - if (discount.reduce != 0) { - _this.gradeDiscount.push(discount) - _this.checkedCities2.push('每单位优惠') + } + + }else { + if (response.data.userGrade.userGrade) { + let naturalGasRule = JSON.parse(response.data.userGrade.naturalGasRule).sort((a, b) => a.naturalGasRule1 - b.naturalGasRule1); + if (response.data.userGrade.preferential == '自定义优惠' && response.data.userGrade.status == 'qy') { + if (response.data.userGrade.naturalGasDiscount == "满减优惠") { + let oilDiscount = 0; + discount.type = "满减优惠" + for (let i = 1; i <= naturalGasRule.length; i++) { + // 将满减条件加入等级优惠列表 + if (naturalGasRule.length > 1) { + if (item.amount >= naturalGasRule[naturalGasRule.length - 1].naturalGasRule1) { + discount.full = naturalGasRule[naturalGasRule.length - 1].naturalGasRule1 + oilDiscount = naturalGasRule[naturalGasRule.length - 1].naturalGasRule2; + discount.reduce = naturalGasRule[naturalGasRule.length - 1].naturalGasRule2 + break; + } + if (item.amount >= naturalGasRule[i - 1].naturalGasRule1 && item.amount < naturalGasRule[i].naturalGasRule1) { + discount.full = naturalGasRule[i - 1].naturalGasRule1 + oilDiscount = naturalGasRule[i - 1].naturalGasRule2 + discount.reduce = naturalGasRule[i - 1].naturalGasRule2 + } + } else { + if (item.amount >= naturalGasRule[i - 1].naturalGasRule1) { + discount.full = naturalGasRule[i - 1].naturalGasRule1 + oilDiscount = naturalGasRule[i - 1].naturalGasRule2 + discount.reduce = naturalGasRule[i - 1].naturalGasRule2 + } + } + } + if (discount.reduce != 0) { + _this.gradeDiscount.push(discount) + _this.checkedCities2.push('满减优惠') + } + naturalGasDiscount += +oilDiscount + } else if (response.data.userGrade.naturalGasDiscount == "每单位优惠") { + let oilDiscount = 0; + discount.type = "每单位优惠" + for (let i = 1; i <= naturalGasRule.length; i++) { + // 将满减条件加入等级优惠列表 + if (naturalGasRule.length > 1) { + if (item.amount >= naturalGasRule[naturalGasRule.length - 1].naturalGasRule1) { + discount.full = naturalGasRule[naturalGasRule.length - 1].naturalGasRule1 + oilDiscount = (item.liters * naturalGasRule[gasolineRule.length - 1].naturalGasRule3).toFixed(2) + discount.reduce = (item.liters * naturalGasRule[gasolineRule.length - 1].naturalGasRule3).toFixed(2) + discount.liters = naturalGasRule[naturalGasRule.length - 1].naturalGasRule3 + break; + } + if (item.amount >= naturalGasRule[i - 1].naturalGasRule1 && item.amount < naturalGasRule[i].naturalGasRule1) { + discount.full = naturalGasRule[i - 1].naturalGasRule1 + oilDiscount = (item.liters * naturalGasRule[i - 1].naturalGasRule3).toFixed(2) + discount.reduce = (item.liters * naturalGasRule[i - 1].naturalGasRule3).toFixed(2) + discount.liters = naturalGasRule[i - 1].naturalGasRule3 + } + } else { + if (item.amount >= naturalGasRule[i - 1].naturalGasRule1) { + discount.full = naturalGasRule[i - 1].naturalGasRule1 + oilDiscount = (item.liters * naturalGasRule[i - 1].naturalGasRule3).toFixed(2) + discount.reduce = (item.liters * naturalGasRule[i - 1].naturalGasRule3).toFixed(2) + discount.liters = naturalGasRule[i - 1].naturalGasRule3 + } + } + } + if (discount.reduce != 0) { + _this.gradeDiscount.push(discount) + _this.checkedCities2.push('每单位优惠') + } + naturalGasDiscount += +oilDiscount + } else { + naturalGasDiscount = 0; + } } - naturalGasDiscount += +oilDiscount - } else { - naturalGasDiscount = 0; + } } } @@ -1690,7 +1918,7 @@ this.map.payUser = data.mobile; this.map.userId = data.id; this.balance = this.member.cardBalance; - this.getGrade(data.gradeId) + this.getGrade(data.id,data.gradeId) this.changeRefuelMoney(); this.handleChange(); this.preferentialData.storeId = data.storeId; @@ -2114,7 +2342,7 @@ this.oilTotal = this.oilOrder.length; this.select = "元"; if (this.isMember){ - this.getGrade(this.member.gradeId) + this.getGrade(this.member.id,this.member.gradeId) this.changeRefuelMoney(); if (this.oilOrder.length>0){ this.preferential(); @@ -2211,7 +2439,7 @@ // 根据手机号查询会员信息 getUser(){ if(this.select1=="会员手机号"){ - getUserVoMobile({mobile:this.userNo}).then( response => { + getUserInfoMobile({mobile:this.userNo}).then( response => { if (response.data!=null){ this.member = response.data }else { diff --git a/gasStation-uni/config.js b/gasStation-uni/config.js index 489df866f..3bf1eadcd 100644 --- a/gasStation-uni/config.js +++ b/gasStation-uni/config.js @@ -1,5 +1,6 @@ // 应用全局配置 module.exports = { +<<<<<<< HEAD // baseUrl: 'https://vue.ruoyi.vip/prod-api', // baseUrl: 'http://192.168.0.196:8081/', // baseUrl: 'http://192.168.1.4:8080/', @@ -7,6 +8,9 @@ module.exports = { // baseUrl: 'http://192.168.1.5:8002/cdJdc', +======= + baseUrl: 'https://8q4f124343.yicp.fun/', +>>>>>>> c67165057421d2de2634fc09136279ec27ed8bb2 imagesUrl: 'http://www.nuoyunr.com/lananRsc', // 应用信息 appInfo: { diff --git a/gasStation-uni/package-lock.json b/gasStation-uni/package-lock.json index 3e8281a93..c21d10152 100644 --- a/gasStation-uni/package-lock.json +++ b/gasStation-uni/package-lock.json @@ -1,18 +1,1519 @@ { + "name": "gasStation-uni", + "lockfileVersion": 2, "requires": true, - "lockfileVersion": 1, + "packages": { + "": { + "dependencies": { + "@dcloudio/uni-ui": "^1.4.28", + "bignumber.js": "^9.1.2", + "crypto-js": "^4.2.0", + "uview-ui": "^2.0.36", + "weixin-js-sdk": "^1.6.5" + }, + "devDependencies": { + "sass": "^1.69.5", + "sass-loader": "^10.5.0" + } + }, + "node_modules/@dcloudio/uni-ui": { + "version": "1.4.28", + "resolved": "https://registry.npmjs.org/@dcloudio/uni-ui/-/uni-ui-1.4.28.tgz", + "integrity": "sha512-e/lSbvR79KH9+d3D4ueNbvD6szigjO/5IyjBNmiTqaj0PTS324fBV3L6f3s1qpkYonM4rdOl000hVOcAg6Gh/A==" + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "peer": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmmirror.com/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "dev": true, + "peer": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true, + "peer": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.20", + "resolved": "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "dev": true, + "peer": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@types/eslint": { + "version": "8.56.1", + "resolved": "https://registry.npmmirror.com/@types/eslint/-/eslint-8.56.1.tgz", + "integrity": "sha512-18PLWRzhy9glDQp3+wOgfLYRWlhgX0azxgJ63rdpoUHyrC9z0f5CkFburjQx4uD7ZCruw85ZtMt6K+L+R8fLJQ==", + "dev": true, + "peer": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmmirror.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "dev": true, + "peer": true, + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true, + "peer": true + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true + }, + "node_modules/@types/node": { + "version": "20.10.6", + "resolved": "https://registry.npmmirror.com/@types/node/-/node-20.10.6.tgz", + "integrity": "sha512-Vac8H+NlRNNlAmDfGUP7b5h/KA+AtWIzuXy0E6OyP8f1tCLYAtPvKRRDJjAPqhpCb0t6U2j7/xqAuLEebW2kiw==", + "dev": true, + "peer": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dev": true, + "peer": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dev": true, + "peer": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true, + "peer": true + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmmirror.com/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true, + "peer": true + }, + "node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "dev": true, + "peer": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "dev": true, + "peer": true, + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/bignumber.js": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.2.tgz", + "integrity": "sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==", + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.22.2", + "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.22.2.tgz", + "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==", + "dev": true, + "peer": true, + "dependencies": { + "caniuse-lite": "^1.0.30001565", + "electron-to-chromium": "^1.4.601", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true, + "peer": true + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001574", + "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001574.tgz", + "integrity": "sha512-BtYEK4r/iHt/txm81KBudCUcTy7t+s9emrIaHqjYurQ10x71zJ5VQ9x1dYPcz/b+pKSp4y/v1xSI67A+LzpNyg==", + "dev": true, + "peer": true + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true, + "peer": true + }, + "node_modules/crypto-js": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/crypto-js/-/crypto-js-4.2.0.tgz", + "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==" + }, + "node_modules/electron-to-chromium": { + "version": "1.4.620", + "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.620.tgz", + "integrity": "sha512-a2fcSHOHrqBJsPNXtf6ZCEZpXrFCcbK1FBxfX3txoqWzNgtEDG1f3M59M98iwxhRW4iMKESnSjbJ310/rkrp0g==", + "dev": true, + "peer": true + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.15.0", + "resolved": "https://registry.npmmirror.com/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "dev": true, + "peer": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/es-module-lexer": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-1.4.1.tgz", + "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==", + "dev": true, + "peer": true + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "peer": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "peer": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "peer": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true, + "peer": true + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "peer": true + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/immutable": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.4.tgz", + "integrity": "sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==", + "dev": true + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "peer": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true, + "peer": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/klona": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", + "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true, + "peer": true + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "peer": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node_modules/node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", + "dev": true, + "peer": true + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true, + "peer": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "peer": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "peer": true + }, + "node_modules/sass": { + "version": "1.69.5", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.69.5.tgz", + "integrity": "sha512-qg2+UCJibLr2LCVOt3OlPhr/dqVHWOa9XtZf2OjbLs/T4VPSJ00udtgJxH3neXZm+QqX8B+3cU7RaLqp1iVfcQ==", + "dev": true, + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-loader": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-10.5.0.tgz", + "integrity": "sha512-VsU71W7VR6SChMJZUqtrfLeMSA8ns7QTHbnA7cfevtjb3c392mX93lr0Dmr4uU1ch5uIbEmfmHjdrDYcXXkQ7w==", + "dev": true, + "dependencies": { + "klona": "^2.0.4", + "loader-utils": "^2.0.0", + "neo-async": "^2.6.2", + "schema-utils": "^3.0.0", + "semver": "^7.3.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "peerDependencies": { + "fibers": ">= 3.1.0", + "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0", + "sass": "^1.3.0", + "webpack": "^4.36.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "fibers": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "sass": { + "optional": true + } + } + }, + "node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "dev": true, + "peer": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmmirror.com/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "peer": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/terser": { + "version": "5.26.0", + "resolved": "https://registry.npmmirror.com/terser/-/terser-5.26.0.tgz", + "integrity": "sha512-dytTGoE2oHgbNV9nTzgBEPaqAWvcJNl66VZ0BkJqlvp71IjO8CxdBx/ykCNb47cLnCmCvRZ6ZR0tLkqvZCdVBQ==", + "dev": true, + "peer": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.10", + "resolved": "https://registry.npmmirror.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", + "dev": true, + "peer": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.20", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.26.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmmirror.com/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true, + "peer": true + }, + "node_modules/update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "dev": true, + "peer": true, + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/uview-ui": { + "version": "2.0.36", + "resolved": "https://registry.npmjs.org/uview-ui/-/uview-ui-2.0.36.tgz", + "integrity": "sha512-ASSZT6M8w3GTO1eFPbsgEFV0U5UujK+8pTNr+MSUbRNcRMC1u63DDTLJVeArV91kWM0bfAexK3SK9pnTqF9TtA==", + "engines": { + "HBuilderX": "^3.1.0" + } + }, + "node_modules/watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmmirror.com/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dev": true, + "peer": true, + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack": { + "version": "5.89.0", + "resolved": "https://registry.npmmirror.com/webpack/-/webpack-5.89.0.tgz", + "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==", + "dev": true, + "peer": true, + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true, + "peer": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/weixin-js-sdk": { + "version": "1.6.5", + "resolved": "https://registry.npmmirror.com/weixin-js-sdk/-/weixin-js-sdk-1.6.5.tgz", + "integrity": "sha512-Gph1WAWB2YN/lMOFB/ymb+hbU/wYazzJgu6PMMktCy9cSCeW5wA6Zwt0dpahJbJ+RJEwtTv2x9iIu0U4enuVSQ==" + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + }, "dependencies": { "@dcloudio/uni-ui": { "version": "1.4.28", "resolved": "https://registry.npmjs.org/@dcloudio/uni-ui/-/uni-ui-1.4.28.tgz", "integrity": "sha512-e/lSbvR79KH9+d3D4ueNbvD6szigjO/5IyjBNmiTqaj0PTS324fBV3L6f3s1qpkYonM4rdOl000hVOcAg6Gh/A==" }, + "@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "peer": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "dev": true, + "peer": true + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "peer": true + }, + "@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmmirror.com/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "dev": true, + "peer": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true, + "peer": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.20", + "resolved": "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "dev": true, + "peer": true, + "requires": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "@types/eslint": { + "version": "8.56.1", + "resolved": "https://registry.npmmirror.com/@types/eslint/-/eslint-8.56.1.tgz", + "integrity": "sha512-18PLWRzhy9glDQp3+wOgfLYRWlhgX0azxgJ63rdpoUHyrC9z0f5CkFburjQx4uD7ZCruw85ZtMt6K+L+R8fLJQ==", + "dev": true, + "peer": true, + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmmirror.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "dev": true, + "peer": true, + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true, + "peer": true + }, "@types/json-schema": { "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", "dev": true }, + "@types/node": { + "version": "20.10.6", + "resolved": "https://registry.npmmirror.com/@types/node/-/node-20.10.6.tgz", + "integrity": "sha512-Vac8H+NlRNNlAmDfGUP7b5h/KA+AtWIzuXy0E6OyP8f1tCLYAtPvKRRDJjAPqhpCb0t6U2j7/xqAuLEebW2kiw==", + "dev": true, + "peer": true, + "requires": { + "undici-types": "~5.26.4" + } + }, + "@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "dev": true, + "peer": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "dev": true, + "peer": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", + "dev": true, + "peer": true + }, + "@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "dev": true, + "peer": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dev": true, + "peer": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dev": true, + "peer": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "dev": true, + "peer": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true, + "peer": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmmirror.com/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true, + "peer": true + }, + "acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "dev": true, + "peer": true + }, + "acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "dev": true, + "peer": true, + "requires": {} + }, "ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -29,7 +1530,8 @@ "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true + "dev": true, + "requires": {} }, "anymatch": { "version": "3.1.3", @@ -67,6 +1569,33 @@ "fill-range": "^7.0.1" } }, + "browserslist": { + "version": "4.22.2", + "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.22.2.tgz", + "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==", + "dev": true, + "peer": true, + "requires": { + "caniuse-lite": "^1.0.30001565", + "electron-to-chromium": "^1.4.601", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" + } + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true, + "peer": true + }, + "caniuse-lite": { + "version": "1.0.30001574", + "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001574.tgz", + "integrity": "sha512-BtYEK4r/iHt/txm81KBudCUcTy7t+s9emrIaHqjYurQ10x71zJ5VQ9x1dYPcz/b+pKSp4y/v1xSI67A+LzpNyg==", + "dev": true, + "peer": true + }, "chokidar": { "version": "3.5.3", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", @@ -83,17 +1612,107 @@ "readdirp": "~3.6.0" } }, + "chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true, + "peer": true + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true, + "peer": true + }, "crypto-js": { "version": "4.2.0", "resolved": "https://registry.npmmirror.com/crypto-js/-/crypto-js-4.2.0.tgz", "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==" }, + "electron-to-chromium": { + "version": "1.4.620", + "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.620.tgz", + "integrity": "sha512-a2fcSHOHrqBJsPNXtf6ZCEZpXrFCcbK1FBxfX3txoqWzNgtEDG1f3M59M98iwxhRW4iMKESnSjbJ310/rkrp0g==", + "dev": true, + "peer": true + }, "emojis-list": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", "dev": true }, + "enhanced-resolve": { + "version": "5.15.0", + "resolved": "https://registry.npmmirror.com/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "dev": true, + "peer": true, + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, + "es-module-lexer": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-1.4.1.tgz", + "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==", + "dev": true, + "peer": true + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "peer": true + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "peer": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "peer": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "peer": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "peer": true + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "peer": true + }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -131,6 +1750,27 @@ "is-glob": "^4.0.1" } }, + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true, + "peer": true + }, + "graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "peer": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true + }, "immutable": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.4.tgz", @@ -167,6 +1807,25 @@ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true }, + "jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "peer": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true, + "peer": true + }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -185,6 +1844,13 @@ "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", "dev": true }, + "loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true, + "peer": true + }, "loader-utils": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", @@ -205,18 +1871,56 @@ "yallist": "^4.0.0" } }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true, + "peer": true + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "peer": true + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "peer": true, + "requires": { + "mime-db": "1.52.0" + } + }, "neo-async": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true }, + "node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", + "dev": true, + "peer": true + }, "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true, + "peer": true + }, "picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", @@ -229,6 +1933,16 @@ "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "dev": true }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "peer": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, "readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", @@ -238,6 +1952,13 @@ "picomatch": "^2.2.1" } }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "peer": true + }, "sass": { "version": "1.69.5", "resolved": "https://registry.npmjs.org/sass/-/sass-1.69.5.tgz", @@ -282,12 +2003,84 @@ "lru-cache": "^6.0.0" } }, + "serialize-javascript": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "dev": true, + "peer": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "peer": true + }, "source-map-js": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", "dev": true }, + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmmirror.com/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "peer": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "peer": true + }, + "terser": { + "version": "5.26.0", + "resolved": "https://registry.npmmirror.com/terser/-/terser-5.26.0.tgz", + "integrity": "sha512-dytTGoE2oHgbNV9nTzgBEPaqAWvcJNl66VZ0BkJqlvp71IjO8CxdBx/ykCNb47cLnCmCvRZ6ZR0tLkqvZCdVBQ==", + "dev": true, + "peer": true, + "requires": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + } + }, + "terser-webpack-plugin": { + "version": "5.3.10", + "resolved": "https://registry.npmmirror.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", + "dev": true, + "peer": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.20", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.26.0" + } + }, "to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -297,6 +2090,24 @@ "is-number": "^7.0.0" } }, + "undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmmirror.com/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true, + "peer": true + }, + "update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "dev": true, + "peer": true, + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, "uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", @@ -311,6 +2122,62 @@ "resolved": "https://registry.npmjs.org/uview-ui/-/uview-ui-2.0.36.tgz", "integrity": "sha512-ASSZT6M8w3GTO1eFPbsgEFV0U5UujK+8pTNr+MSUbRNcRMC1u63DDTLJVeArV91kWM0bfAexK3SK9pnTqF9TtA==" }, + "watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmmirror.com/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dev": true, + "peer": true, + "requires": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + } + }, + "webpack": { + "version": "5.89.0", + "resolved": "https://registry.npmmirror.com/webpack/-/webpack-5.89.0.tgz", + "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==", + "dev": true, + "peer": true, + "requires": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + } + }, + "webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true, + "peer": true + }, + "weixin-js-sdk": { + "version": "1.6.5", + "resolved": "https://registry.npmmirror.com/weixin-js-sdk/-/weixin-js-sdk-1.6.5.tgz", + "integrity": "sha512-Gph1WAWB2YN/lMOFB/ymb+hbU/wYazzJgu6PMMktCy9cSCeW5wA6Zwt0dpahJbJ+RJEwtTv2x9iIu0U4enuVSQ==" + }, "yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", diff --git a/gasStation-uni/package.json b/gasStation-uni/package.json index c0774a78e..432c7dda0 100644 --- a/gasStation-uni/package.json +++ b/gasStation-uni/package.json @@ -3,7 +3,8 @@ "@dcloudio/uni-ui": "^1.4.28", "bignumber.js": "^9.1.2", "crypto-js": "^4.2.0", - "uview-ui": "^2.0.36" + "uview-ui": "^2.0.36", + "weixin-js-sdk": "^1.6.5" }, "devDependencies": { "sass": "^1.69.5", diff --git a/gasStation-uni/pages/index/index.vue b/gasStation-uni/pages/index/index.vue index f9cc2be89..ec5b6d103 100644 --- a/gasStation-uni/pages/index/index.vue +++ b/gasStation-uni/pages/index/index.vue @@ -196,7 +196,7 @@ let str = q.split("?")[1]; let arr = str.split("&"); - let storeId = "21"; + let storeId = "19"; let staffId = ""; arr.forEach(item => { @@ -219,8 +219,6 @@ uni.setStorageSync("storeId", storeId) } } - // this.isExistStoreId(); - this.getUserAuthority(); this.getOilType(); }, diff --git a/gasStation-uni/pages/my/my.vue b/gasStation-uni/pages/my/my.vue index 9732be37a..bf0c898cd 100644 --- a/gasStation-uni/pages/my/my.vue +++ b/gasStation-uni/pages/my/my.vue @@ -189,12 +189,13 @@ tabbar }, onShow() { + this.getUser() this.query.storeId = uni.getStorageSync("storeId") this.query.chainStoreId = uni.getStorageSync('chainStoreId') this.getUserBalance(); this.getGiftRecords(); - this.getUserInfoList(); - this.getUser() + + }, methods: { // 查询当前登录用户信息 diff --git a/gasStation-uni/pages/refuel/refuel.vue b/gasStation-uni/pages/refuel/refuel.vue index c0dd6b585..428c1a20c 100644 --- a/gasStation-uni/pages/refuel/refuel.vue +++ b/gasStation-uni/pages/refuel/refuel.vue @@ -117,7 +117,7 @@ show: false, pic: 0, hindex: 0, - qindex: null, + qindex: 0, aindex: null, sindex: null, // 店铺信息 @@ -168,7 +168,7 @@ }, onLoad(query) { const q = decodeURIComponent(query.q) // 获取到二维码原始链接内容 - if (q == undefined) { + if (query.q) { let str = q.split("?")[1]; let arr = str.split("&"); let storeId = ""; @@ -184,6 +184,9 @@ uni.setStorageSync("inviteStaffId", staffId) this.storeId = uni.getStorageSync("storeId") this.staffId = uni.getStorageSync("inviteStaffId") + uni.showLoading({ + title:storeId +"++"+staffId + }) } }, onShow() { diff --git a/gasStation-uni/pagesMy/invite/invite.vue b/gasStation-uni/pagesMy/invite/invite.vue index c40cadffa..a8e45feca 100644 --- a/gasStation-uni/pagesMy/invite/invite.vue +++ b/gasStation-uni/pagesMy/invite/invite.vue @@ -71,10 +71,14 @@