Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 久久国产自偷自偷免,国产精品电影久久,亚洲手机在线

          整合營銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          開源快訊|近期醫(yī)療信息化資訊一覽(4.25)

          開源快訊|近期醫(yī)療信息化資訊一覽(4.25)

          療信息化建設(shè)是關(guān)乎民生的重要舉措,也是推進(jìn)“健康中國”建設(shè)的必要環(huán)節(jié)。新致新源團(tuán)隊(duì)整理了近期關(guān)于醫(yī)療信息化行業(yè)的重要資訊,供讀者參考。

          一、“2024全國智慧醫(yī)保大賽”正式啟動(dòng)

          4月23日,國家醫(yī)保局舉辦發(fā)布會(huì),宣布正式啟動(dòng)“2024全國智慧醫(yī)保大賽”。本次大賽由國家醫(yī)療保障局主辦,由重慶市醫(yī)療保障局、重慶市大數(shù)據(jù)應(yīng)用發(fā)展管理局、重慶兩江新區(qū)管委會(huì)、重慶市科學(xué)技術(shù)研究院聯(lián)合承辦。

          在賽程安排方面,本次大賽包括初賽、復(fù)賽、決賽、頒獎(jiǎng)四個(gè)階段。大賽最終將評(píng)選出一等獎(jiǎng)、二等獎(jiǎng)、三等獎(jiǎng)及優(yōu)勝獎(jiǎng)若干名,并初定于9月在重慶頒獎(jiǎng)。目前,大賽各項(xiàng)籌備工作正有序推進(jìn)。

          大賽官網(wǎng):

          https://www.chs-ihssc.cn/

          二、“第七屆智慧醫(yī)療創(chuàng)新大賽”于4月啟動(dòng)全國報(bào)名

          4月22日,智慧醫(yī)療創(chuàng)新大賽組委會(huì)正式發(fā)布關(guān)于舉辦“科創(chuàng)中國”技術(shù)路演-智慧醫(yī)療專場(chǎng)暨“第七屆智慧醫(yī)療創(chuàng)新大賽”的通知。大賽于4月啟動(dòng)全國報(bào)名,擬于9月“2024第二屆數(shù)字健康創(chuàng)新大會(huì)”同期召開全國總決賽項(xiàng)目路演。

          大賽由全國31個(gè)省市、40余家行業(yè)協(xié)會(huì)/學(xué)會(huì)聯(lián)合主辦,,面向全國各級(jí)醫(yī)療衛(wèi)生機(jī)構(gòu)、企事業(yè)單位、科研院所、創(chuàng)新團(tuán)隊(duì)和海外人才,共設(shè)立31個(gè)省市分賽區(qū)。

          報(bào)名網(wǎng)址:

          www.shic.org.cn

          三、“2024第五屆公立醫(yī)院后勤建設(shè)與管理大會(huì)”將于6月在深圳召開

          4月19日,據(jù)悉,關(guān)于召開“2024第五屆公立醫(yī)院后勤建設(shè)與管理大會(huì)”的通知正式發(fā)布。本屆大會(huì)由《中國醫(yī)院院長》雜志和中國醫(yī)藥物資協(xié)會(huì)智慧醫(yī)療分會(huì)等單位聯(lián)合主辦,聯(lián)合部分省市醫(yī)院協(xié)會(huì)和相關(guān)后勤專委會(huì)等機(jī)構(gòu)協(xié)辦,智慧醫(yī)衛(wèi)(北京)信息技術(shù)研究中心承辦,擬定于6月28日-30日在廣東深圳召開。

          會(huì)議同期活動(dòng)包括:優(yōu)秀論文征集評(píng)選、2024醫(yī)院后勤建設(shè)與管理優(yōu)秀案例評(píng)選、圖書《醫(yī)院后勤建設(shè)與管理實(shí)用案例精編》征文、會(huì)議展覽。

          報(bào)名通知:

          https://mp.weixin.qq.com/s/UcebXlyBhFS_YR-khVTVuw

          四、《北京市支持創(chuàng)新醫(yī)藥高質(zhì)量發(fā)展若干措施(2024年)》出臺(tái)

          4月17日,北京市醫(yī)療保障局等九部門聯(lián)合發(fā)布了關(guān)于印發(fā)《北京市支持創(chuàng)新醫(yī)藥高質(zhì)量發(fā)展若干措施(2024年)》的通知,文件中明確提出鼓勵(lì)醫(yī)療健康數(shù)據(jù)賦能創(chuàng)新。

          具體包括:推動(dòng)形成一批單病種主題數(shù)據(jù)庫;探索實(shí)現(xiàn)數(shù)據(jù)“可用不可見、可控可計(jì)量”的分布式安全流動(dòng);擴(kuò)大住院和門診電子病歷在醫(yī)療機(jī)構(gòu)之間的共享應(yīng)用范圍;探索醫(yī)療健康數(shù)據(jù)與商業(yè)健康保險(xiǎn)的信息共享機(jī)制等。

          官方文件:

          https://ybj.beijing.gov.cn/zwgk/2020_zcwj/202404/t20240417_3620553.html

          五、中國健康產(chǎn)業(yè)新質(zhì)生產(chǎn)力發(fā)展主題會(huì)議將于5月在京舉行

          4月8日,據(jù)中國財(cái)富網(wǎng),由中國財(cái)富傳媒集團(tuán)和北京經(jīng)濟(jì)技術(shù)開發(fā)區(qū)管委會(huì)聯(lián)合主辦的“2024中國健康產(chǎn)業(yè)新質(zhì)生產(chǎn)力發(fā)展主題會(huì)議”將于5月25日-26日在北京舉行。

          會(huì)議將圍繞“新科技、新動(dòng)能、新賽道”主題,開展主旨演講、政策解讀和高端對(duì)話。據(jù)悉,會(huì)議期間還將開展“人工智能+健康產(chǎn)業(yè)”高端對(duì)話,對(duì)大健康產(chǎn)業(yè)創(chuàng)新成果進(jìn)行重點(diǎn)展示,對(duì)“創(chuàng)新引領(lǐng)新質(zhì)生產(chǎn)力發(fā)展優(yōu)秀企業(yè)”進(jìn)行表彰等,

          報(bào)名通知:

          https://www.cfbond.com/2024/04/08/991044544.html?category=10005

          六、《海南省深化醫(yī)藥衛(wèi)生體制改革2024年重點(diǎn)工作任務(wù)》正式印發(fā)

          3月25日,健康海南建設(shè)(愛國衛(wèi)生運(yùn)動(dòng))委員會(huì)印發(fā)了《海南省深化醫(yī)藥衛(wèi)生體制改革2024年重點(diǎn)工作任務(wù)》,明確提出加強(qiáng)“三醫(yī)”數(shù)據(jù)聯(lián)通共享。

          推動(dòng)數(shù)字療法等智慧健康技術(shù)產(chǎn)品在基層推廣應(yīng)用。持續(xù)開展數(shù)據(jù)治理與應(yīng)用活動(dòng),組建省三醫(yī)數(shù)據(jù)中心,制定海南省健康醫(yī)療大數(shù)據(jù)應(yīng)用相關(guān)規(guī)范,完善5G遠(yuǎn)程診療管理制度;促進(jìn)“三醫(yī)”政務(wù)、業(yè)務(wù)等有關(guān)信息互通共享等。

          官方文件:

          https://wst.hainan.gov.cn/swjw/rdzt/hnsshyy/tzgg/202404/t20240408_3640018.html

          七、“2024中國醫(yī)院信息網(wǎng)絡(luò)大會(huì)”將于5月在南京舉辦

          3月8日,中國醫(yī)院協(xié)會(huì)正式發(fā)布關(guān)于召開“2024中國醫(yī)院信息網(wǎng)絡(luò)大會(huì)(CHIMA 2024)”的通知。本次大會(huì)擬定于5月16日—19日在南京國際展覽中心召開,同期還將舉辦中外醫(yī)療信息技術(shù)和產(chǎn)品展覽會(huì)。

          本次大會(huì)主要內(nèi)容包括:主題演講、拓導(dǎo)課和分論壇、論文宣講、案例路演、信息安全攻防演練對(duì)抗、新技術(shù)與新產(chǎn)品展覽、全委會(huì)、其他。

          報(bào)名網(wǎng)址:

          http://2024.chima.org.cn

          作為國內(nèi)醫(yī)療信息化的先行者,新致新源積極響應(yīng)國家十四五“普惠數(shù)字化”要求,在目前行業(yè)所面臨的挑戰(zhàn)下,結(jié)合中國國產(chǎn)操作系統(tǒng)的未來趨勢(shì),于2022年正式推出國內(nèi)開源醫(yī)療OpenHIS解決方案,通過整合醫(yī)療全體系、全鏈條資源,提供全方位醫(yī)療服務(wù)的網(wǎng)絡(luò)平臺(tái):OpenHIS.org.cn

          新致開源醫(yī)療產(chǎn)品功能地圖

          新致開源標(biāo)準(zhǔn)化解決方案

          我們歡迎多元化合作方式,包括但不僅限于開源產(chǎn)品協(xié)作開發(fā)、信息化產(chǎn)品協(xié)作落地、行業(yè)活動(dòng)合作舉辦、醫(yī)療客戶合作共享、醫(yī)療客戶產(chǎn)品需求協(xié)作支持等方式。歡迎聯(lián)系我們咨詢合作!

          uang!在剛剛過去的雙十一期間,你的錢包是不是又小了很多?其實(shí)有很多的朋友是直接通過手機(jī)來進(jìn)行購買的,甚至身邊的好幾個(gè)同事都是通過手機(jī)流量搶到了秒殺的手機(jī)和鞋子,簡直是逆天了。這還要得益于現(xiàn)如今聯(lián)通的“沃”4G網(wǎng)絡(luò)的套餐優(yōu)勢(shì)。縱使是不停的刷手機(jī),逛淘寶,看測(cè)評(píng),也不會(huì)超出無限流量的范圍。

          這不,最近我也被安利,辦理了一張聯(lián)通的4G套餐卡。其中,同時(shí)讓我關(guān)注“上海聯(lián)通”微信公眾號(hào),最近聯(lián)通11.11狂歡節(jié)又有重磅活動(dòng)放送,橙色炸彈、福袋狂歡任你搶。活動(dòng)主鏈接:http://openwx.soji.so/index.php?s=/addon/ShltH5/Index/double/id/10005.html



          NO.1:福袋拆拆拆,拆到你手軟



          拆福袋活動(dòng)堪稱是此次上海聯(lián)通主力活動(dòng),凡是在11.9-11.15期間點(diǎn)擊活動(dòng)主頁鏈接天賺到拆福袋頁面的朋友,都能夠每日開啟一次運(yùn)氣福袋,選取中意的禮物,同時(shí)將活動(dòng)分享后最多每日能夠拆福袋4次,分享超過10次就能夠開啟至尊福袋,可見很誘人。

          簡單說一下,運(yùn)氣福袋禮品包含以下:

          1~10G隨即全國流量日包

          各種抵用券:筆者已知最大抵用券可以在合約計(jì)劃中抵扣現(xiàn)金4999元

          橙豆紅包:最高288橙豆

          可使用的前提就是你不是賬戶不是欠費(fèi)停機(jī)、銷戶或黑名單才行。

          No.2:商城半價(jià)狂歡,讓你看到就心動(dòng)



          商城鏈接請(qǐng)看這里:https://file.10010sh.cn/member-center/storeIndex



          橙豆紅包你領(lǐng)到多少?在雙11期間(截止日期為11月18日,并且以后每個(gè)月18號(hào)都會(huì)是會(huì)員日),聯(lián)通橙豆會(huì)員能夠參與商城5折兌換活動(dòng),流量包、視頻會(huì)員等福利,通過商城兌換就可以拿到手,關(guān)鍵是5折,這一波操作很值得擁有。

          No.3:充值立減,話費(fèi)任性。

          每個(gè)月都在為充值話費(fèi)而擔(dān)憂,現(xiàn)在橙市會(huì)員能夠享有很多優(yōu)惠政策。如下圖所示:



          據(jù)了解,在11月16日至18日期間,每天早上的10點(diǎn)18分,16日發(fā)放一萬張,17日發(fā)放5000張,18日發(fā)放5000張滿100減15優(yōu)惠券,用心去搶很容易得到。

          被同事安利之后,就從來沒有錯(cuò)過每一次機(jī)會(huì),你覺得如何呢?可以的話就快來參與好了。

          增sku到購物車

          上次課我們開發(fā)到了顯示商品詳情

          有點(diǎn)擊"添加到購物車"的按鈕

          但是沒有反應(yīng),我們完成添加購物車的功能就能實(shí)現(xiàn)這個(gè)效果了

          打開mall-order-webapi模塊

          業(yè)務(wù)邏輯中一些基本的注意事項(xiàng)

          • * 判斷用戶是否登錄,只有登錄后才能將商品新增到購物車
          • * 驗(yàn)證購物車信息的完整性
          • * 業(yè)務(wù)邏輯層要判斷新增的sku是否在當(dāng)前用戶的購物車表中已經(jīng)存在
          • * 如果不存在是新增sku流程
          • * 如果已經(jīng)存在,是修改數(shù)量的流程

          開發(fā)持久層

          持久層要按上面分析的業(yè)務(wù)邏輯,開發(fā)多個(gè)方法

          1. 判斷當(dāng)前登錄用戶購物車中是否包含指定skuid商品的方法
          2. 新增sku到購物車表中
          3. 修改購物車指定sku數(shù)量的方法

          mapper包創(chuàng)建OmsCartMapper接口,編寫代碼如下

          @Repository
          public interface OmsCartMapper {
          // 判斷當(dāng)前用戶的購物車列表中是否包含指定sku商品的方法
          OmsCart selectExistsCart(@Param("userId") Long userId,@Param("skuId") Long skuId);
          // 新增商品到購物車表中
          void saveCart(OmsCart omsCart);
          // 修改指定購物車商品的數(shù)量的方法
          void updateQuantityById(OmsCart omsCart);
          }

          對(duì)應(yīng)的Mapper.xml文件

          <?xml version="1.0" encoding="UTF-8"?>
          <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
          <mapper namespace="cn.tedu.mall.order.mapper.OmsCartMapper">
          <!-- 通用查詢映射結(jié)果 -->
          <resultMap id="BaseResultMap" type="cn.tedu.mall.pojo.order.model.OmsCart">
          <id column="id" property="id" />
          <result column="user_id" property="userId" />
          <result column="sku_id" property="skuId" />
          <result column="title" property="title" />
          <result column="main_picture" property="mainPicture" />
          <result column="price" property="price" />
          <result column="quantity" property="quantity" />
          <result column="gmt_create" property="gmtCreate" />
          <result column="gmt_modified" property="gmtModified" />
          <result column="bar_code" property="barCode"/>
          <result column="data" property="data"/>
          </resultMap>
          <!-- 聲明一個(gè)全字符sql片段 -->
          <sql id="SimpleQueryFields">
          <if test="true">
          id,
          user_id,
          sku_id,
          title,
          main_picture,
          price,
          quantity,
          gmt_create,
          gmt_modified
          </if>
          </sql>
          <!-- 判斷當(dāng)前用戶的購物車列表中是否包含指定sku商品的方法 -->
          <select id="selectExistsCart" resultType="cn.tedu.mall.pojo.order.model.OmsCart">
          select
          <include refid="SimpleQueryFields" />
          from
          oms_cart
          where
          user_id=#{userId}
          and
          sku_id=#{skuId}
          </select>
          <!-- 新增購物車信息 -->
          <insert id="saveCart" useGeneratedKeys="true" keyProperty="id">
          insert into oms_cart(
          user_id,
          sku_id,
          title,
          main_picture,
          price,
          quantity
          ) values(
          #{userId},
          #{skuId},
          #{title},
          #{mainPicture},
          #{price},
          #{quantity}
          )
          </insert>
          <!-- 根據(jù)購物車id修改數(shù)量 -->
          <update id="updateQuantityById" >
          update
          oms_cart
          set
          quantity=#{quantity}
          where
          id=#{id}
          </update>
          </mapper>

          開發(fā)業(yè)務(wù)邏輯層

          創(chuàng)建OmsCartServiceImpl類實(shí)現(xiàn)IOmsCartService接口

          實(shí)現(xiàn)其中方法,先實(shí)現(xiàn)新增購物車的方法即可

          需要注意,我們?cè)跇I(yè)務(wù)邏輯層中需要使用用戶的信息

          要單獨(dú)編寫一個(gè)方法獲取用戶信息,

          @Service
          public class OmsCartServiceImpl implements IOmsCartService {
          @Autowired
          private OmsCartMapper omsCartMapper;
          @Override
          public void addCart(CartAddDTO cartDTO) {
          // 獲取當(dāng)前登錄用戶的userId
          Long userId=getUserId();
          // 查詢這個(gè)userId的用戶是否已經(jīng)將指定的sku添加到購物車
          OmsCart omsCart=omsCartMapper.selectExistsCart(userId,cartDTO.getSkuId());
          // 判斷查詢結(jié)果是否為null
          if(omsCart!=null){
          // 不等于null,表示當(dāng)前用戶這個(gè)sku已經(jīng)添加在購物車列表中
          // 我們需要做的就是修改它的數(shù)量,根據(jù)cartDTO對(duì)象的quantity屬性值添加
          omsCart.setQuantity(omsCart.getQuantity()+cartDTO.getQuantity());
          // 調(diào)用持久層方法修改數(shù)量
          omsCartMapper.updateQuantityById(omsCart);
          }else{
          // 如果omsCart是null 會(huì)運(yùn)行else代碼塊
          // 去完成購物車對(duì)象的新增,先實(shí)例化OmsCart對(duì)象
          OmsCart newOmsCart=new OmsCart();
          // 將參數(shù)cartDTO的同名屬性賦值給newOmsCart
          BeanUtils.copyProperties(cartDTO,newOmsCart);
          // cartDTO對(duì)象中沒有userId屬性,需要單獨(dú)賦
          newOmsCart.setUserId(userId);
          // 執(zhí)行新增
          omsCartMapper.saveCart(newOmsCart);
          }
          }
          
          @Override
          public JsonPage<CartStandardVO> listCarts(Integer page, Integer pageSize) {
          return null;
          }
          
          @Override
          public void removeCart(Long[] ids) {
          }
          
          @Override
          public void removeAllCarts() {
          }
          
          @Override
          public void removeUserCarts(OmsCart omsCart) {
          }
          
          @Override
          public void updateQuantity(CartUpdateDTO cartUpdateDTO) {
          }
          
          // 業(yè)務(wù)邏輯層獲得用戶信息的方法,因?yàn)槎鄠€(gè)方法需要獲得用戶信息,所以單獨(dú)編寫一個(gè)方法
          // 這個(gè)方法的實(shí)現(xiàn)是SpringSecurity提供的登錄用戶的容器
          // 方法的目標(biāo)是獲得SpringSecurity用戶容器,從容器中獲得用戶信息
          public CsmallAuthenticationInfo getUserInfo(){
          // 獲得SpringSecurity容器對(duì)象
          UsernamePasswordAuthenticationToken authenticationToken=(UsernamePasswordAuthenticationToken)SecurityContextHolder.
          getContext().getAuthentication();
          // 判斷獲取的容器信息是否為空
          if(authenticationToken!=null){
          // 如果容器中有內(nèi)容,證明當(dāng)前容器中有登錄用戶信息
          // 我們獲取這個(gè)用戶信息并返回
          CsmallAuthenticationInfo csmallAuthenticationInfo=(CsmallAuthenticationInfo)authenticationToken.getCredentials();
          return csmallAuthenticationInfo;
          }
          throw new CoolSharkServiceException(ResponseCode.UNAUTHORIZED,"沒有登錄信息");
          }
          
          // 業(yè)務(wù)邏輯層中大多數(shù)方法都是獲得用戶id,所以編寫一個(gè)返回用戶id的方法
          public Long getUserId(){
          return getUserInfo().getId();
          }
          }

          開發(fā)控制層

          創(chuàng)建OmsCartController

          @RestController
          @RequestMapping("/oms/cart")
          @Api(tags="購物車管理模塊")
          public class OmsCartController {
          @Autowired
          private IOmsCartService omsCartService;
          // 新增購物車信息的控制層方法
          @PostMapping("/add")
          @ApiOperation("新增購物車信息")
          // 判斷當(dāng)前用戶是否具有普通用戶權(quán)限ROLE_user
          // sso模塊登錄時(shí),會(huì)在用戶的權(quán)限列表中添加ROLE_user權(quán)限
          @PreAuthorize("hasRole('ROLE_user')")
          // cartAddDTO參數(shù)是需要經(jīng)過SpringValidation框架驗(yàn)證的
          // @Validated就是激活框架驗(yàn)證功能,如果cartAddDTO不滿足驗(yàn)證要求,會(huì)自動(dòng)運(yùn)行
          // 統(tǒng)一由異常處理類中的BingingException異常處理
          public JsonResult addCart(@Validated CartAddDTO cartAddDTO){
          omsCartService.addCart(cartAddDTO);
          return JsonResult.ok("成功添加到購物車");
          }
          }

          先注意sso模塊application-test.yml的地址和端口號(hào)(密碼有兩個(gè))

          也要注意order模塊application-test.yml的地址和端口號(hào)

          都保證正確的前提下

          啟動(dòng) leaf passport order

          sso:10002

          order:10005

          先訪問10002登錄獲得JWT 用戶名jackson密碼123456

          先登錄看到JWT 然后復(fù)制JWT

          轉(zhuǎn)到10005 order模塊 文檔管理->全局參數(shù)設(shè)置->添加參數(shù)

          參數(shù)名:Authorization

          參數(shù)值:Bearer [粘貼JWT]

          然后刷新當(dāng)前10005的界面

          然后進(jìn)行發(fā)送請(qǐng)求即可成功!

          <dependency>
          <groupId>javax.xml.bind</groupId>
          <artifactId>jaxb-api</artifactId>
          <version>2.3.0</version>
          </dependency>

          SpringSecurity驗(yàn)證規(guī)則

          SpringSecurity框架登錄后,一定會(huì)有一個(gè)權(quán)限列表

          在userDetails對(duì)象中

          我們登錄用戶的這個(gè)對(duì)象的值可能是

          {"authorities":["ROLE_user"],"id":1,"userType":"USER","username":"jackson"}

          sso模塊前臺(tái)用戶登錄時(shí),會(huì)authorities屬性中添加ROLE_user權(quán)限

          而后臺(tái)管理用戶登錄時(shí)會(huì)向authorities屬性中添加下面屬性

          ["/pms/product/read","/pms/product/update","/pms/product/delete"]

          所以想要在控制器運(yùn)行前判斷權(quán)限時(shí)就可以使用下面的寫法

          @PreAuthorize("hasAuthority('ROLE_user')")

          hasRole判斷是專用于判斷當(dāng)前用戶角色的指令

          hasRole會(huì)自動(dòng)在我們判斷的內(nèi)容前添加ROLE_

          @PreAuthorize("hasRole('ROLE_user')")

          開發(fā)查詢購物車功能

          開發(fā)持久層

          OmsCartMapper添加方法如下

          // 根據(jù)當(dāng)前用戶id查詢購物車列表
          List<CartStandardVO> selectCartsByUserId(Long userId);

          OmsCartMapper.xml添加對(duì)應(yīng)內(nèi)容

          <!-- 根據(jù)用戶id查詢購物車信息 -->
          <select id="selectCartsByUserId"
          resultType="cn.tedu.mall.pojo.order.vo.CartStandardVO">
          select
          <include refid="SimpleQueryFields" />
          from
          oms_cart
          where
          user_id=#{id}
          </select>

          開發(fā)業(yè)務(wù)邏輯層

          OmsCartServiceImpl業(yè)務(wù)實(shí)現(xiàn)

          返回值支持分頁結(jié)果,按分頁條件查詢

          // 根據(jù)用戶id分頁查詢當(dāng)前用戶的購物車列表
          @Override
          public JsonPage<CartStandardVO> listCarts(Integer page, Integer pageSize) {
          // 獲得用戶id
          Long userId=getUserId();
          // 執(zhí)行查詢前設(shè)置分頁條件
          PageHelper.startPage(page,pageSize);
          // 執(zhí)行分頁查詢
          List<CartStandardVO> list=omsCartMapper.selectCartsByUserId(userId);
          // 實(shí)例化PageInfo對(duì)象獲得分頁信息后將它轉(zhuǎn)換為JsonPage返回
          return JsonPage.restPage(new PageInfo<>(list));
          }

          下面開發(fā)控制層,調(diào)用方法進(jìn)行測(cè)試

          OmsCartController添加方法如下

          // 分頁查詢當(dāng)前用戶購物車中的信息
          @GetMapping("/list")
          @ApiOperation("分頁查詢當(dāng)前用戶購物車中的信息")
          @ApiImplicitParams({
          @ApiImplicitParam(value="頁碼",name="page",dataType="int",example="1"),
          @ApiImplicitParam(value="每頁條數(shù)",name="pageSize",
          dataType="int",example="5")
          })
            @PreAuthorize("hasRole('ROLE_user')")
          public JsonResult<JsonPage<CartStandardVO>> listCartByPage(
            // 當(dāng)控制器參數(shù)可能為空,當(dāng)空時(shí),我們要給它賦默認(rèn)值時(shí),可以用下面的格式
            @RequestParam(required=false,defaultValue=WebConsts.DEFAULT_PAGE)
            Integer page,
            @RequestParam(required=false,defaultValue=WebConsts.DEFAULT_PAGE_SIZE)
          Integer pageSize
          ){
            // 控制層調(diào)用業(yè)務(wù)邏輯層代碼
            JsonPage<CartStandardVO> jsonPage=omsCartService.listCarts(page,pageSize);
            return JsonResult.ok(jsonPage);
          }

          啟動(dòng)nacos\seata

          啟動(dòng)leaf\sso\order模塊

          測(cè)試http://localhost:10005/doc.html

          刪除\清空購物車

          刪除購物車的持久層

          我們刪除購物車的功能支持同時(shí)刪除一個(gè)或多個(gè)購物車中的商品

          基本思路就是將一個(gè)要?jiǎng)h除的購物車商品的id數(shù)組傳入到Mapper中進(jìn)行刪除

          在OmsCartMapper接口中添加放方法

          // 根據(jù)購物車的id刪除商品(支持刪除多個(gè)商品)
          int deleteCartsByIds(Long[] ids);

          對(duì)應(yīng)的mapper.xml

          <!-- 根據(jù)id刪除購物車信息 -->
          <delete id="deleteCartsByIds">
          delete from
          oms_cart
          where
          id in
          <foreach collection="ids" item="id" separator="," open="(" close=")">
          #{id}
          </foreach>
          </delete>

          刪除購物車的業(yè)務(wù)邏輯層

          OmsCartServiceImpl添加方法

          // 按ids數(shù)組中的id值刪除cart表中信息
          @Override
          public void removeCart(Long[] ids) {
          // 刪除是包含返回值的
          int rows=omsCartMapper.deleteCartsByIds(ids);
          if(rows==0){
          throw new CoolSharkServiceException(ResponseCode.NOT_FOUND,
          "購物車中沒有您要?jiǎng)h除的商品");
          }
          }

          開發(fā)控制層代碼

          OmsCartController

          @PostMapping("/delete")
          @ApiOperation("根據(jù)用戶選擇的購物車商品刪除(支持批量)")
          @ApiImplicitParam(value="刪除購物車的id",name="ids",required=true,
          dataType="array")
          @PreAuthorize("hasRole('ROLE_user')")
          public JsonResult removeCartsByIds(Long[] ids){
          omsCartService.removeCart(ids);
          return JsonResult.ok();
          }

          開發(fā)清空當(dāng)前登錄用戶購物車的功能

          <delete id="deleteCartsByUserId">
          delete from
          oms_cart
          where
          user_id=#{userId}
          </delete>
          @Override
          public void removeAllCarts() {
          }

          清空購物車功能

          Mapper接口

          // 刪除當(dāng)前用戶購物車中所有內(nèi)容
          int deleteCartsByUserId(Long userId);

          mapper.xml

          <!-- 刪除當(dāng)前用戶購物車中所有內(nèi)容 -->
          <delete id="deleteCartsByUserId">
          delete from
          oms_cart
          where
          user_id=#{userId}
          </delete>

          OmsCartServiceImpl

          // 清空當(dāng)前登錄用戶購物車
          @Override
          public void removeAllCarts() {
          Long userId=getUserId();
          int rows=omsCartMapper.deleteCartsByUserId(userId);
          if(rows==0){
          throw new CoolSharkServiceException(ResponseCode.NOT_FOUND,"您的購物車中沒有商品");
          }
          }

          OmsCartController

          // 根據(jù)用戶id清空購物車
          @PostMapping("/delete/all")
          @ApiOperation("根據(jù)用戶id清空購物車")
          @PreAuthorize("hasRole('ROLE_user')")
          public JsonResult removeCartsByUserId(){
          omsCartService.removeAllCarts();;
          return JsonResult.ok("購物車已清空");
          }

          修改購物車商品數(shù)量

          開發(fā)業(yè)務(wù)邏輯層

          因?yàn)榍懊嫖覀円呀?jīng)完成了修改購物車數(shù)量的持久層,所以不需要再編寫了,直接從業(yè)務(wù)層開始

          // 修改購物車商品數(shù)量的方法
          @Override
          public void updateQuantity(CartUpdateDTO cartUpdateDTO) {
          // 持久層中已經(jīng)包含了修改數(shù)量的方法,但是參數(shù)是OmsCart
          // 將本方法的cartUpdateDTO參數(shù)值賦值給OmsCart再調(diào)用持久層方法即可
          OmsCart omsCart=new OmsCart();
          BeanUtils.copyProperties(cartUpdateDTO,omsCart);
          // 調(diào)用持久層實(shí)施修改
          omsCartMapper.updateQuantityById(omsCart);
          }

          控制層OmsCartController

          // 修改購物車數(shù)量
          @PostMapping("/update/quantity")
          @ApiOperation("修改購物車數(shù)量")
          @PreAuthorize("hasRole('ROLE_user')")
          public JsonResult updateQuantity(@Validated CartUpdateDTO cartUpdateDTO){
          omsCartService.updateQuantity(cartUpdateDTO);
          return JsonResult.ok("修改完成");
          }

          重啟order測(cè)試清空和修改購物車數(shù)量的功能

          學(xué)習(xí)記錄,如有侵權(quán)請(qǐng)聯(lián)系刪除


          主站蜘蛛池模板: asmr国产一区在线| 国产精品福利一区二区久久| 精品一区精品二区制服| V一区无码内射国产| 无码精品一区二区三区| 中文字幕在线观看一区二区 | 国产亚洲一区区二区在线| 精品国产一区二区三区香蕉| 久久精品国产一区二区三 | 成人区精品人妻一区二区不卡 | 亚洲日本一区二区一本一道 | 国产一区二区三区播放| 呦系列视频一区二区三区| 亚洲一区二区三区偷拍女厕| 国产人妖视频一区二区破除| 一本一道波多野结衣AV一区| 久久伊人精品一区二区三区 | 亚洲一区二区三区久久| 肉色超薄丝袜脚交一区二区| 国产综合一区二区| 夜夜嗨AV一区二区三区| 国产在线aaa片一区二区99| 国产精品亚洲不卡一区二区三区 | 加勒比精品久久一区二区三区| 蜜桃无码AV一区二区| 97久久精品无码一区二区天美| 97久久精品一区二区三区| 亚洲午夜精品一区二区| 久久精品无码一区二区无码| 中文字幕在线一区二区在线 | 一区二区三区午夜| 日韩国产一区二区| 中文字幕在线观看一区| 中文字幕亚洲一区| 一区二区三区四区精品视频| 亚洲第一区视频在线观看| 亚洲A∨精品一区二区三区下载| 99偷拍视频精品一区二区| 国产第一区二区三区在线观看| 久久久人妻精品无码一区| 狠狠色成人一区二区三区|