From: Xia Kaixiang Date: Mon, 2 Sep 2019 10:24:45 +0000 (+0800) Subject: 市民卡查询时返回的信息字段修改 X-Git-Tag: 1.0.1^2~19 X-Git-Url: https://source.supwisdom.com/gerrit/gitweb?a=commitdiff_plain;h=6b4f16f53da896cf753acc582d81d7114acc0160;p=epayment%2Ffood_payapi.git 市民卡查询时返回的信息字段修改 --- 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 733947a8..f33e0e8b 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 @@ import java.util.List; @AllArgsConstructor @NoArgsConstructor public class CardsResponse extends ApiResponse { - List cards; + List 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 00000000..d99daf70 --- /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 e621b78e..9c024e34 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 @@ package com.supwisdom.dlpay.api.bean; 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 @@ public class QueryCardsParam extends APIRequestParam { @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 e15252e5..1271f264 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 @@ import lombok.Setter; @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 cardstatus; - private String transstatus; - private String expiredate; - private String name; - private String status; private String cardphyid; - + private String expiredate; private String bankcardno; - private String bankcardstatus; - private String banktransstatus; - private String bankexpiredate; - private String bankcardphyid; + private String cardstatus; + private String transstatus; } 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 f2b7290a..7781be65 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 @@ public interface CardDao extends JpaRepository { @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 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 4ef27de7..a5876850 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.OperatorService; 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 @@ public class OperatorController { @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 @@ public class OperatorController { } 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 c43ae9dc..12fb6e64 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.TCard 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 @@ class CardServiceImpl : CardService { @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 @@ class CardServiceImpl : CardService { 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 resp.retcode=0 resp.retmsg="OK" - resp.cards = ret + resp.cards = list return resp } } \ No newline at end of file