市民卡查询时返回的信息字段修改
diff --git a/payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/CardsResponse.java b/payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/CardsResponse.java
index 733947a..f33e0e8 100644
--- a/payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/CardsResponse.java
+++ b/payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/CardsResponse.java
@@ -12,5 +12,5 @@
@AllArgsConstructor
@NoArgsConstructor
public class CardsResponse extends ApiResponse {
- List cards;
+ List<CitizenCardInfo> cards;
}
diff --git a/payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/CitizenCardInfo.java b/payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/CitizenCardInfo.java
new file mode 100644
index 0000000..d99daf7
--- /dev/null
+++ b/payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/CitizenCardInfo.java
@@ -0,0 +1,26 @@
+package com.supwisdom.dlpay.api.bean;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+@Getter
+@Setter
+@AllArgsConstructor
+@NoArgsConstructor
+public class CitizenCardInfo {
+ private String cardno;
+ private String cardphyid;
+ private String expiredate;
+ private String cardstatus;
+ private String transstatus;
+
+ private String userid;
+ private String username;
+ private String sex;
+ private String idtype;
+ private String idno;
+ private String phone;
+ private String bankcardno;
+}
diff --git a/payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/QueryCardsParam.java b/payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/QueryCardsParam.java
index e621b78..9c024e3 100644
--- a/payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/QueryCardsParam.java
+++ b/payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/QueryCardsParam.java
@@ -3,6 +3,7 @@
import com.supwisdom.dlpay.api.APIRequestParam;
import com.supwisdom.dlpay.api.annotation.Sign;
import com.supwisdom.dlpay.api.exception.RequestParamCheckException;
+import com.supwisdom.dlpay.api.util.DateUtil;
import lombok.Getter;
import lombok.Setter;
import org.apache.commons.lang3.StringUtils;
@@ -18,6 +19,12 @@
@Override
public boolean checkParam() throws RequestParamCheckException {
+ if (!DateUtil.checkDatetimeValid(starttime, DateUtil.DATETIME_FMT))
+ throw new RequestParamCheckException("起始时间为空或格式错误");
+ if (!DateUtil.checkDatetimeValid(endtime, DateUtil.DATETIME_FMT))
+ throw new RequestParamCheckException("结束时间为空或格式错误");
+ if (DateUtil.compareDatetime(endtime, starttime, DateUtil.DATETIME_FMT) < 0)
+ throw new RequestParamCheckException("结束时间不能小于起始时间");
return true;
}
}
diff --git a/payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/UserInforResponse.java b/payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/UserInforResponse.java
index e15252e..1271f26 100644
--- a/payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/UserInforResponse.java
+++ b/payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/UserInforResponse.java
@@ -11,17 +11,16 @@
@NoArgsConstructor
public class UserInforResponse extends ApiResponse {
private String userid;
+ private String username;
+ private String sex;
+ private String idtype;
+ private String idno;
+ private String phone;
+
private String cardno;
+ private String cardphyid;
+ private String expiredate;
+ private String bankcardno;
private String cardstatus;
private String transstatus;
- private String expiredate;
- private String name;
- private String status;
- private String cardphyid;
-
- private String bankcardno;
- private String bankcardstatus;
- private String banktransstatus;
- private String bankexpiredate;
- private String bankcardphyid;
}
diff --git a/payapi/src/main/java/com/supwisdom/dlpay/api/dao/CardDao.java b/payapi/src/main/java/com/supwisdom/dlpay/api/dao/CardDao.java
index f2b7290..7781be6 100644
--- a/payapi/src/main/java/com/supwisdom/dlpay/api/dao/CardDao.java
+++ b/payapi/src/main/java/com/supwisdom/dlpay/api/dao/CardDao.java
@@ -19,6 +19,9 @@
@Query("from TCard t where t.userid=?1 and t.cardtype=?2 and t.status='normal' ")
TCard findCardByUseridAndCardtype(String userid, String cardtype);
+ @Query("from TCard t where t.userid=?1 and t.cardtype=?2 and t.cardphyid=?3 ")
+ TCard findBankcardByCitizencard(String userid, String cardtype, String cardphyid);
+
@Query("from TCard t where cardtype='citizencard' and t.lastsaved>?1 and t.lastsaved<=?2 ")
List<TCard> findCitizencardByLastsaved(String startdate, String enddate);
}
diff --git a/payapi/src/main/java/com/supwisdom/dlpay/system/controller/OperatorController.java b/payapi/src/main/java/com/supwisdom/dlpay/system/controller/OperatorController.java
index 4ef27de..a587685 100644
--- a/payapi/src/main/java/com/supwisdom/dlpay/system/controller/OperatorController.java
+++ b/payapi/src/main/java/com/supwisdom/dlpay/system/controller/OperatorController.java
@@ -14,12 +14,19 @@
import com.supwisdom.dlpay.system.service.RoleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.security.core.Authentication;
+import org.springframework.security.core.annotation.AuthenticationPrincipal;
+import org.springframework.security.core.context.SecurityContextHolder;
+import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
+import org.springframework.security.web.authentication.logout.SecurityContextLogoutHandler;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.*;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
import java.util.List;
@@ -196,7 +203,9 @@
@PostMapping("/dosetpwd")
@ResponseBody
public JsonResult dosetpwd(@RequestParam String curpwd,
- @RequestParam String newpwd, @RequestParam String renewpwd) {
+ @RequestParam String newpwd,
+ @RequestParam String renewpwd,
+ HttpServletRequest request, HttpServletResponse response) {
if (StringUtil.isEmpty(curpwd)
|| StringUtil.isEmpty(newpwd)
|| StringUtil.isEmpty(renewpwd)) {
@@ -219,6 +228,9 @@
}
operator.setOperpwd(encoder.encode(newpwd));
operatorService.saveOperator(operator);
+
+ Authentication auth = SecurityContextHolder.getContext().getAuthentication();
+ new SecurityContextLogoutHandler().logout(request, response, auth);
return JsonResult.ok("密码修改成功,请重新登录");
}
}
diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/card_service_impl.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/card_service_impl.kt
index c43ae9d..12fb6e6 100644
--- a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/card_service_impl.kt
+++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/card_service_impl.kt
@@ -1,6 +1,7 @@
package com.supwisdom.dlpay.api.service.impl
import com.supwisdom.dlpay.api.bean.CardsResponse
+import com.supwisdom.dlpay.api.bean.CitizenCardInfo
import com.supwisdom.dlpay.api.bean.UserInforResponse
import com.supwisdom.dlpay.api.dao.CardDao
import com.supwisdom.dlpay.api.dao.PersonDao
@@ -8,12 +9,15 @@
import com.supwisdom.dlpay.api.domain.TPerson
import com.supwisdom.dlpay.api.service.CardService
import com.supwisdom.dlpay.exception.TransactionProcessException
-import com.supwisdom.dlpay.framework.ResponseBodyBuilder
import com.supwisdom.dlpay.framework.util.TradeDict
import com.supwisdom.dlpay.framework.util.TradeErrorCode
import com.supwisdom.dlpay.util.ConstantUtil
+import org.hibernate.query.internal.NativeQueryImpl
+import org.hibernate.transform.Transformers
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.stereotype.Service
+import javax.persistence.EntityManager
+import javax.persistence.PersistenceContext
@Service
class CardServiceImpl : CardService {
@@ -22,6 +26,9 @@
@Autowired
lateinit var personDao: PersonDao
+ @PersistenceContext
+ private lateinit var entityManager: EntityManager
+
override fun getBankcardByUserid(userid: String): TCard? {
return cardDao.findCardByUseridAndCardtype(userid, ConstantUtil.CARDTYPE_BANKCARD)
}
@@ -46,47 +53,57 @@
override fun getPersonByCardno(citizencardno: String?, bankcardno: String?): UserInforResponse {
var resp = UserInforResponse()
- var cityCard:TCard?
+ var cityCard: TCard?
if (!citizencardno.isNullOrEmpty()) {
cityCard = cardDao.findCardByCardnoAndCardtype(citizencardno, ConstantUtil.CARDTYPE_CITIZENCARD)
- if(cityCard==null){
- resp.retcode=1
+ if (cityCard == null) {
+ resp.retcode = 1
resp.retmsg = "市民卡不存在"
return resp
}
- val bankcard = cardDao.findCardByUseridAndCardtype(cityCard.userid, ConstantUtil.CARDTYPE_BANKCARD)
- if(bankcard!=null){
+ val bankcard = cardDao.findBankcardByCitizencard(cityCard.userid, ConstantUtil.CARDTYPE_BANKCARD, cityCard.cardphyid)
+ if (bankcard != null) {
resp.bankcardno = bankcard.cardno
}
- }else {
- resp.retcode=1
+ } else {
+ resp.retcode = 1
resp.retmsg = "参数错误"
return resp
}
resp.cardno = cityCard.cardno
+ resp.cardphyid = cityCard.cardphyid
+ resp.expiredate = cityCard.expiredate
resp.cardstatus = cityCard.status
resp.transstatus = cityCard.transStatus
- resp.expiredate = cityCard.expiredate
- resp.cardphyid = cityCard.cardphyid
val person = personDao.findByUserid(cityCard.userid)
if (person != null) {
- resp.retcode=0
- resp.name = person.name
+ resp.retcode = 0
+ resp.username = person.name
resp.userid = person.userid
- resp.status = person.status
+ resp.sex = person.sex
+ resp.idtype = person.idtype
+ resp.idno = person.idno
+ resp.phone = person.mobile
return resp
}
- resp.retcode=1
+ resp.retcode = 1
resp.retmsg = "用户不存在"
return resp
}
override fun getCardsByLastsaveDate(startdate: String, enddate: String): CardsResponse {
var resp = CardsResponse()
- var ret = cardDao.findCitizencardByLastsaved(startdate,enddate)
+// var ret = cardDao.findCitizencardByLastsaved(startdate,enddate)
+ val query = entityManager.createNativeQuery("select a.cardno,a.cardphyid,a.expiredate,a.status as cardstatus,a.trans_status as transstatus,a.userid,b.name as username,b.sex,b.idtype,b.idno,b.mobile as phone,c.cardno as bankcardno \n" +
+ "from tb_card a left join tb_person b on a.userid=b.userid left join tb_card c on a.userid=c.userid and a.cardphyid=c.cardphyid and c.cardtype='bankcard' \n" +
+ "where a.cardtype='citizencard' and a.lastsaved>:starttime and a.lastsaved<=:endtime order by a.lastsaved ")
+ query.setParameter("starttime", startdate)
+ query.setParameter("endtime", enddate)
+ query.unwrap(NativeQueryImpl::class.java).setResultTransformer(Transformers.aliasToBean(CitizenCardInfo::class.java))
+ val list = query.resultList as List<CitizenCardInfo>
resp.retcode=0
resp.retmsg="OK"
- resp.cards = ret
+ resp.cards = list
return resp
}
}
\ No newline at end of file