From b37be9472fbff868027cc02b31c74e0a29e677fc Mon Sep 17 00:00:00 2001 From: TS-QD1 Date: Tue, 18 Jun 2024 18:55:43 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8E=E4=BB=98=E8=B4=B9=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E7=9A=84=E8=B4=9F=E9=87=91=E9=A2=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AccountItemResourceController.java | 1 + .../pojo/dtos/user/expand/UserExpandDTO.java | 9 +++++++++ .../pojo/pos/user/expand/UserExpandPO.java | 9 +++++++++ .../vos/accountitem/AccountItemOrderVO.java | 11 ++++++++++ .../pojo/vos/accountitem/AccountItemVO.java | 7 +++++++ .../pojo/vos/user/expand/UserExpandVO.java | 9 +++++++++ .../account/impl/AccountServiceImpl.java | 6 +++--- .../impl/AccountItemServiceImpl.java | 17 ++++++++-------- .../user/UserSaveAfterHandlerImpl.java | 20 +++++++++++++++++++ .../mapper/user/expand/user-expand.xml | 7 +++++++ .../templates/user/expand/save-or-update.html | 12 ++++++++++- 11 files changed, 96 insertions(+), 12 deletions(-) create mode 100644 src/main/java/cn/com/tenlion/operator/service/user/UserSaveAfterHandlerImpl.java diff --git a/src/main/java/cn/com/tenlion/operator/controller/resource/accountitem/AccountItemResourceController.java b/src/main/java/cn/com/tenlion/operator/controller/resource/accountitem/AccountItemResourceController.java index af147cb..36508c5 100644 --- a/src/main/java/cn/com/tenlion/operator/controller/resource/accountitem/AccountItemResourceController.java +++ b/src/main/java/cn/com/tenlion/operator/controller/resource/accountitem/AccountItemResourceController.java @@ -185,6 +185,7 @@ public class AccountItemResourceController extends DefaultBaseController { accountItemVO.setDescription(accountItemOrderVO.getDescription()); accountItemVO.setOrderId(accountItemOrderVO.getOrderId()); accountItemVO.setOrderType(type); + accountItemVO.setIsPostpaid(accountItemOrderVO.getIsPostpaid()); accountItemService.saveReturnId(accountItemVO); return new SuccessResult(); } diff --git a/src/main/java/cn/com/tenlion/operator/pojo/dtos/user/expand/UserExpandDTO.java b/src/main/java/cn/com/tenlion/operator/pojo/dtos/user/expand/UserExpandDTO.java index 3d9d537..aee42c9 100644 --- a/src/main/java/cn/com/tenlion/operator/pojo/dtos/user/expand/UserExpandDTO.java +++ b/src/main/java/cn/com/tenlion/operator/pojo/dtos/user/expand/UserExpandDTO.java @@ -21,6 +21,7 @@ public class UserExpandDTO extends UserDTO { private Long priceMaterialAgentUrgent; private String availableProjType; private String postpaid; + private Integer postpaidCount; private Integer freeProjCount; private Integer correctionCount; @@ -88,6 +89,14 @@ public class UserExpandDTO extends UserDTO { this.postpaid = postpaid; } + public Integer getPostpaidCount() { + return postpaidCount == null ? 0 : postpaidCount; + } + + public void setPostpaidCount(Integer postpaidCount) { + this.postpaidCount = postpaidCount; + } + public Integer getFreeProjCount() { return freeProjCount == null ? 3 : freeProjCount; } diff --git a/src/main/java/cn/com/tenlion/operator/pojo/pos/user/expand/UserExpandPO.java b/src/main/java/cn/com/tenlion/operator/pojo/pos/user/expand/UserExpandPO.java index 75e77f8..6c77f99 100644 --- a/src/main/java/cn/com/tenlion/operator/pojo/pos/user/expand/UserExpandPO.java +++ b/src/main/java/cn/com/tenlion/operator/pojo/pos/user/expand/UserExpandPO.java @@ -17,6 +17,7 @@ public class UserExpandPO { private Long priceMaterialAgentUrgent; private String availableProjType; private String postpaid; + private Integer postpaidCount; private Integer freeProjCount; private Integer correctionCount; @@ -84,6 +85,14 @@ public class UserExpandPO { this.postpaid = postpaid; } + public Integer getPostpaidCount() { + return postpaidCount == null ? 0 : postpaidCount; + } + + public void setPostpaidCount(Integer postpaidCount) { + this.postpaidCount = postpaidCount; + } + public Integer getFreeProjCount() { return freeProjCount == null ? 3 : freeProjCount; } diff --git a/src/main/java/cn/com/tenlion/operator/pojo/vos/accountitem/AccountItemOrderVO.java b/src/main/java/cn/com/tenlion/operator/pojo/vos/accountitem/AccountItemOrderVO.java index 213f361..648a491 100644 --- a/src/main/java/cn/com/tenlion/operator/pojo/vos/accountitem/AccountItemOrderVO.java +++ b/src/main/java/cn/com/tenlion/operator/pojo/vos/accountitem/AccountItemOrderVO.java @@ -27,6 +27,9 @@ public class AccountItemOrderVO { @ApiModelProperty(name = "code", value = "编码") @CheckEmptyAnnotation(name = "编码") private String code; + @ApiModelProperty(name = "isPostpaid", value = "是否后付费") + @CheckEmptyAnnotation(name = "是否后付费") + private Integer isPostpaid; public String getCode() { return code == null ? "" : code.trim(); @@ -75,4 +78,12 @@ public class AccountItemOrderVO { public void setOrderId(String orderId) { this.orderId = orderId; } + + public Integer getIsPostpaid() { + return isPostpaid == null ? 0 : isPostpaid; + } + + public void setIsPostpaid(Integer isPostpaid) { + this.isPostpaid = isPostpaid; + } } diff --git a/src/main/java/cn/com/tenlion/operator/pojo/vos/accountitem/AccountItemVO.java b/src/main/java/cn/com/tenlion/operator/pojo/vos/accountitem/AccountItemVO.java index d2e26f5..2d5dc36 100644 --- a/src/main/java/cn/com/tenlion/operator/pojo/vos/accountitem/AccountItemVO.java +++ b/src/main/java/cn/com/tenlion/operator/pojo/vos/accountitem/AccountItemVO.java @@ -41,6 +41,7 @@ public class AccountItemVO { private String orderType; @ApiModelProperty(name = "checkStatus", value = "核对状态0:待核对,1:已核对") private String checkStatus; + private Integer isPostpaid; public String getOrderType() { return orderType == null ? "" : orderType.trim(); @@ -122,5 +123,11 @@ public class AccountItemVO { this.checkStatus = checkStatus; } + public Integer getIsPostpaid() { + return isPostpaid == null ? 0 : isPostpaid; + } + public void setIsPostpaid(Integer isPostpaid) { + this.isPostpaid = isPostpaid; + } } diff --git a/src/main/java/cn/com/tenlion/operator/pojo/vos/user/expand/UserExpandVO.java b/src/main/java/cn/com/tenlion/operator/pojo/vos/user/expand/UserExpandVO.java index 890773c..40fc137 100644 --- a/src/main/java/cn/com/tenlion/operator/pojo/vos/user/expand/UserExpandVO.java +++ b/src/main/java/cn/com/tenlion/operator/pojo/vos/user/expand/UserExpandVO.java @@ -27,6 +27,7 @@ public class UserExpandVO { @CheckEmptyAnnotation(name = "可用项目类型") private String availableProjType; private String postpaid; + private Integer postpaidCount; @CheckNumberAnnotation(name = "免费项目个数", min = 0, max = 10) private Integer freeProjCount; @CheckNumberAnnotation(name = "资料补正次数", min = 0, max = 10) @@ -96,6 +97,14 @@ public class UserExpandVO { this.postpaid = postpaid; } + public Integer getPostpaidCount() { + return postpaidCount == null ? 0 : postpaidCount; + } + + public void setPostpaidCount(Integer postpaidCount) { + this.postpaidCount = postpaidCount; + } + public Integer getFreeProjCount() { return freeProjCount == null ? 3 : freeProjCount; } diff --git a/src/main/java/cn/com/tenlion/operator/service/account/impl/AccountServiceImpl.java b/src/main/java/cn/com/tenlion/operator/service/account/impl/AccountServiceImpl.java index 67ceca5..d6d6d88 100644 --- a/src/main/java/cn/com/tenlion/operator/service/account/impl/AccountServiceImpl.java +++ b/src/main/java/cn/com/tenlion/operator/service/account/impl/AccountServiceImpl.java @@ -267,9 +267,9 @@ public class AccountServiceImpl extends DefaultBaseService implements IAccountSe Map params = super.getHashMap(2); params.put("accountId", accountId); params.put("accountMoney", money); - if (money < 0) { - throw new SaveException("余额不足"); - } +// if (money < 0) { +// throw new SaveException("余额不足"); +// } accountDao.updateMoney(params); } diff --git a/src/main/java/cn/com/tenlion/operator/service/accountitem/impl/AccountItemServiceImpl.java b/src/main/java/cn/com/tenlion/operator/service/accountitem/impl/AccountItemServiceImpl.java index b1a5652..7981a3e 100644 --- a/src/main/java/cn/com/tenlion/operator/service/accountitem/impl/AccountItemServiceImpl.java +++ b/src/main/java/cn/com/tenlion/operator/service/accountitem/impl/AccountItemServiceImpl.java @@ -1,6 +1,7 @@ package cn.com.tenlion.operator.service.accountitem.impl; import cn.com.tenlion.operator.pojo.dtos.account.AccountDTO; +import cn.com.tenlion.operator.pojo.pos.user.expand.UserExpandPO; import cn.com.tenlion.operator.pojo.vos.accountitem.AccountItemOrderVO; import cn.com.tenlion.operator.service.account.IAccountService; import cn.com.tenlion.operator.util.EncryptUtil; @@ -98,9 +99,9 @@ public class AccountItemServiceImpl extends DefaultBaseService implements IAccou Integer new1 = null; if (accountItemVO.getMode().equals(1)) { new1 = old1 + accountItemVO.getAccountMoney(); - }else{ + } else { new1 = old1 - accountItemVO.getAccountMoney(); - if(new1 == null || new1 < 0) { + if (accountItemVO.getIsPostpaid() == 0 && new1 < 0) { throw new SaveException("余额不足抵扣"); } } @@ -112,13 +113,13 @@ public class AccountItemServiceImpl extends DefaultBaseService implements IAccou iAccountService.updateMoney(accountDTO.getAccountId(), new1); Map params = HashMapUtil.beanToMap(accountItemVO); params.put("accountItemId", accountItemId); - try{ + try { if (StringUtils.isBlank(token)) { setSaveInfo(params); } else { setAppSaveInfo(token, params); } - }catch(Exception e) { + } catch (Exception e) { params.put("creator", accountDTO.getUserId()); params.put("gmtCreate", DateUtil.getTime()); params.put("isDelete", 0); @@ -217,7 +218,7 @@ public class AccountItemServiceImpl extends DefaultBaseService implements IAccou @Override public List list(Map params) { List list = accountItemDao.list(params); - for(AccountItemDTO dto : list) { + for (AccountItemDTO dto : list) { dto.setAccountMoneyDouble(PayUtil.buiderMoney(dto.getAccountMoney())); dto.setAccountAfterMoneyDouble(PayUtil.buiderMoney(dto.getAccountAfterMoney())); } @@ -227,7 +228,7 @@ public class AccountItemServiceImpl extends DefaultBaseService implements IAccou @Override public List listBO(Map params) { List list = accountItemDao.listBO(params); - for(AccountItemBO dto : list) { + for (AccountItemBO dto : list) { dto.setAccountMoneyDouble(PayUtil.buiderMoney(dto.getAccountMoney())); dto.setAccountAfterMoneyDouble(PayUtil.buiderMoney(dto.getAccountAfterMoney())); } @@ -284,8 +285,8 @@ public class AccountItemServiceImpl extends DefaultBaseService implements IAccou Map params = super.getHashMap(2); params.put("orderId", accountItemVO.getOrderId()); List list = list(params); - for(AccountItemDTO dto : list) { - if(dto.getType().equals("2")) { + for (AccountItemDTO dto : list) { + if (dto.getType().equals("2")) { if (accountItemVO.getAccountMoney() >= dto.getAccountMoney()) { throw new SaveException("金额错误"); } diff --git a/src/main/java/cn/com/tenlion/operator/service/user/UserSaveAfterHandlerImpl.java b/src/main/java/cn/com/tenlion/operator/service/user/UserSaveAfterHandlerImpl.java new file mode 100644 index 0000000..bd59523 --- /dev/null +++ b/src/main/java/cn/com/tenlion/operator/service/user/UserSaveAfterHandlerImpl.java @@ -0,0 +1,20 @@ +package cn.com.tenlion.operator.service.user; + +import cn.com.tenlion.operator.service.account.IAccountService; +import ink.wgink.exceptions.base.SystemException; +import ink.wgink.interfaces.user.IUserSaveAfterHandler; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Service +public class UserSaveAfterHandlerImpl implements IUserSaveAfterHandler { + + @Autowired + private IAccountService iAccountService; + + @Override + public void handle(String userId, String username, String userName) throws SystemException { + iAccountService.saveCreate("普通用户", userId); + } + +} diff --git a/src/main/resources/mybatis/mapper/user/expand/user-expand.xml b/src/main/resources/mybatis/mapper/user/expand/user-expand.xml index c9dac3d..31f6b93 100644 --- a/src/main/resources/mybatis/mapper/user/expand/user-expand.xml +++ b/src/main/resources/mybatis/mapper/user/expand/user-expand.xml @@ -11,6 +11,7 @@ + @@ -24,6 +25,7 @@ + @@ -39,6 +41,7 @@ price_material_agent_urgent, available_proj_type, postpaid, + postpaid_count, free_proj_count, correction_count ) VALUES ( @@ -51,6 +54,7 @@ #{priceMaterialAgentUrgent}, #{availableProjType}, #{postpaid}, + #{postpaidCount}, #{freeProjCount}, #{correctionCount} ) @@ -68,6 +72,7 @@ price_material_agent_urgent = #{priceMaterialAgentUrgent}, available_proj_type = #{availableProjType}, postpaid = #{postpaid}, + postpaid_count = #{postpaidCount}, free_proj_count = #{freeProjCount}, correction_count = #{correctionCount} WHERE @@ -84,6 +89,7 @@ price_material_agent_urgent, available_proj_type, postpaid, + postpaid_count, free_proj_count, correction_count FROM @@ -104,6 +110,7 @@ price_material_agent_urgent, available_proj_type, postpaid, + postpaid_count, free_proj_count, correction_count FROM diff --git a/src/main/resources/templates/user/expand/save-or-update.html b/src/main/resources/templates/user/expand/save-or-update.html index 8f93ebe..e2e59bf 100644 --- a/src/main/resources/templates/user/expand/save-or-update.html +++ b/src/main/resources/templates/user/expand/save-or-update.html @@ -90,6 +90,8 @@ + +
@@ -98,6 +100,14 @@
+
+
+ +
+ +
+
+
@@ -211,7 +221,7 @@ if(key.indexOf('availableProjType') === 0) { availableProjTypeArray.push(key.split('[')[1].split(']')[0]); } - if(key.indexOf('postpaid') === 0) { + if(key.indexOf('postpaid[') === 0) { postpaidArray.push(key.split('[')[1].split(']')[0]); } }